国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何幫助OpenStack開發者成為貢獻者

云計算 OpenStack
OpenStack是如何做到在三個月之內歸并超過900份文檔修改的?答案是將文檔視為代碼,且將多個git庫中通過審核的內容持續發布。

CI(Continuous Integration)意為 “持續整合”,指代碼的持續測試及與其他代碼修改的整合與歸并。CD(Continuous Deployment)意為 “持續部署”,指代碼與其補丁的持續部署于整個代碼庫。拿文檔來看,就是內容的持續測試、與必要修改的歸并及部署。在此,部署意為發布。舉例來說,“部署文檔”是指輸出文件被復制于web服務器為人閱覽。

文檔的持續整合與持續部署

任何OpenStack庫,包括文檔庫的修改只能通過Gerrit 代碼查核系統完成。Gerrit是由OpenStack基礎架構團隊運營管理的基于網頁的附加查核工具,用于代碼協作及審閱。其工作流程為:文檔貢獻者在文檔庫中核對文檔,做出修改,在本地測試,提交至git – 資源管理及修訂系統,后上傳至OpenStack的Gerrit事例。Gerrit將修改通知到為軟件開發提供持續整合服務的Jenkins。Jenkins收到通知后,將運行為該庫配置好的測試包。目前,OpenStack有八個并行的Jenkins事例,由自主開發的工具Zuul協調 (http://status.openstack.org/zuul/)。

任何人都可以在OpenStack的Gerrit成為審閱者

  • 0: 無分數。
  • +1: 我覺得可以通過,但需要他人同意。
  • 1: 該修改還需完善,以成為可歸并的補丁。

補丁本身同樣需要評議來闡述其必需性、尋求附加說明,或對補丁作出肯定。

資歷較深的“核心審閱者”可為修改做出“+2”或“-2”的評分,以決定修改可否成為修補并發布:

  • +2: 同意(核心審核人)
  • 2: 不同意

被兩位核心審閱者評以“+2”的修改將通過審核,被歸并、發布。得負分的修改不會被批準,相關文檔在達到共識之前也不會被發布。

Jenkins的自動測試也可在審閱過程中形成評分。

當修改被批準后,Jenkins將對已與該修改歸并,更新后的git 庫進行測試,確保避免出現復歸。修改只有被Jenkins審核通過后才可以被歸并。

以上所有自動更改都可運行于HP和Rackspace公有云。目前,OpenStack項目為此目的運行的虛擬機已達到950臺,每項測試工作對應一臺機器,檢驗被測試的修改所在的庫,安裝測試包所需組件并運行測試包 是的,OpenStack正在用云來管理自身云的相關文檔。

下面的章節中將列出OpenStack目前正在運行的測試。

持續集成與持續部署借鑒于文檔的優勢何在?

每天都有多個OpenStack項目與多個修改歸并,而文檔系統與之同步的能力是必要的。持續集成與持續部署讓其得以實現 – 這在當下的環境中是必需的,而非僅是優勢。作者與開發者的工作流程相同,會得到相同的認可、獎勵。

這套流程讓創建文檔不再是本地作者的負擔,盡管貢獻者仍需在本地建立文檔。可修改、審閱就緒的擬定文檔讓貢獻者避免了下載補丁、復制創建環境、再建立文檔的繁復流程,實現同時閱覽原始文件和輸出文件。

創建文檔的速度也會提高,因為作者可在CI/CD運行的同時完善多個修補。OpenStack的基礎架構團隊已將類似技術用于服務器管理。

由于測試腳本的限定,作者會一直以工作狀態為起始,逐漸完善所建文檔的各個分支。如文檔不能在本地或者其他環境創建,作者可以確定是自身問題,而非文檔分支的中斷。

擬定文檔的創建和發布將使審閱者能夠快速了解一項修改的實施效果,而無需下載并在本地建立,從而更快速的完成審閱。

這與OpenStack開發者與基礎架構團隊使用的工作流程相同,開發者們可以更輕松的成為文檔貢獻者。而近期向RST格式的轉變更是將這個優勢強化:RST是OpenStack的常用審定語言。

自動化的風險與陷阱

鑒于文檔撰寫本身的特性,OpenStack一直在嘗試平衡自主創建與人為修飾。一些早期疑慮包括過急的發布與不完整文檔的發布。我們發現,只要審閱者能夠以一項修改可否解決自己在實踐中遇到的問題作為該修改可否通過的評定標準,那么更新發布過于頻繁的風險就會降低。

盡管審閱者之間相互信任,大家依舊會在每半年舉行一次的峰會上相聚,就需審閱的文檔展開討論。一些詳盡的審閱指南已發布(詳見https://wiki.openstack.org/wiki/Documentation/ReviewGuidelines);有關如何高效判斷修補質量的培訓也在持續進行。以機器測試結果為支撐,來自可靠的審閱者的正確判斷與持續整合同為發布速度的決定因素。

所述指南由兩部分組成:獨立于版本的內容以及關于***版本的內容。基于某一版本制訂的指南,例如安裝說明,會跟隨每個新版本而更新。已發布的文檔會根據關鍵修改而更新,為下一版本準備的文檔將被大幅修改并隱藏于現有擬定版文檔,以便當前擬定版本的審閱。在新的軟件版本發行后,與之對應的指南將被發布。之后,下一個版本的指南更新工作將展開。

文檔測試

Jenkins 可執行腳本,文檔團隊也擁有自己的測試腳本庫 (https://github.com/openstack /openstack­doctools),大部分使用Python撰寫。開發這些腳本的流程與文檔創建的工作流程是相同的。主要修改完成后,測試工具的一個發行版本之完成,并用于對文檔修改的測試。文檔庫使用test­requirments.txt 文件的Python慣例示意 openstack­doc­tools的哪個版本對應哪套文檔源文件。

自動測試將細究文檔的形態,使審閱者能夠專注于內容。盡管文檔無需通過全部自動測試,它必須通過被定義為“評分”的測試內容才可以被歸并及發布。另一部分測試內容被定義為“非評分”,指不是必須通過的測試內容。

#p#

一些自動測試的內容包括:

· 檢查獨立文件的語法,幫助查找語法錯誤,可用于DocBook XML, WADL XML, RST, 以及 JSON格式。在此我們只對DocBook XML 和 RST執行此測試。對于JSON的格式檢查另有其他測試完成。

· 檢查文檔的創建。它的附加價值在于新生成的指南將被上傳至擬定文檔服務器,方便審閱者在HTML和PDF格式中查閱。

· 檢查指南譯本通過工具鏈創建。

· 檢查文件精致度:根據不同的文件格式(XML, RST, 或JSON)檢查文檔格式、留白是否恰當、字符是否統一、影響查閱源文件的諸多細節等。我們的工具鏈無法輸出一些統碼,且JSON文件需符合格式標準。

· 檢查網頁鏈接是否可用,確保DocBook XML格式文件里的URL全部有效。鑒于一些網站本身可能失效,這項為“非評分”測試。

· 檢查用于其他指南的XML 文件沒有被刪除。這項的重要性在于我們只創建修改的指南,因此需確保單一文件的刪除不會影響文檔的創建。

OpenStack也對測試腳本中完成了優化。例如,鑒于創建DocBook XML文件是貴重的,小型的關聯創建工具可查看哪些文件被修改、被哪些指南涵蓋,從而只創建相關指南。其他測試,例如語法或URL測試同樣也只在有修改的文件執行,而無需檢查沒有修改的文件 –相比測試單個文件,對近千個 XML文件進行檢查會略顯遲緩。

這些優化未在RST文件完成,鑒于RST文件更易于解析,據此創建文檔也更快速。

鑒于評分機制所需的準確性,我們不會對文字語法或拼寫創建測試。關于這個話題的討論有過很多,但的確,這是一項需要人為判斷的工作。

持續整合架構的其他用途

持續整合架構曾出現在翻譯服務器的討論中。目前,轉譯服務器“Transifex”被用于指南的翻譯工作。當有修改被歸并時,持續整合架構將當前文字上傳至轉譯服務器,方便譯員直接將文字轉譯并一直擁有***的字列。每天一次,一個所謂的“周期性”工作被運行于持續整合架構,下載全部完成轉譯的字列至文檔庫。之后,對于其他字列的修改被提出。這一機制讓我們得以將導入的轉譯與指南審閱一起通過持續整合架構運行。

此外,持續整合架構也被用于分享文件在庫之間的同步。這些是共享的專業術語列表以及同用于其他轉譯的附錄。修改被歸并于這些文件的主庫后,系統將檢查其他庫中的文件是否也需更新。如有需要,對其他庫的修改將被直接通過。這樣,測試包被運行于轉譯內容,同時再次確認指南的內容無誤。

總結

本文旨在幫助讀者了解我們如何將OpenStack文檔編制與持續整合以及持續部署技術相結合。我們發現,這樣結合的利遠大于弊。我們需要與其他團隊相符,進而需要盡早、盡量頻繁的發布。用自動化的視角看看你的開源文檔,巧妙之處自會顯現。

原文由Anne 與Andreas Jaeger共同撰寫。Anne 與 Andreas同為OpenStack文檔團隊成員。Andreas 曾就職于SUSE,對OpenStack持續整合架構有深入研究,為不同的開源項目貢獻超過20年。

原文鏈接:http://www.openstack.cn/?p=3743

責任編輯:Ophira 來源: OpensStack中國社區
相關推薦

2019-12-18 23:11:24

TF架構網絡連接

2015-05-19 09:11:32

OpenStackOpenStack貢獻

2015-06-23 13:41:03

Docker開源社區代碼貢獻

2020-04-17 13:01:38

ASFApache董事會

2022-03-26 10:18:26

GoogleRust獲獎者

2021-04-17 16:08:16

OpenStac開源Wallaby

2022-01-11 20:42:54

開發Sentry標志

2022-01-17 19:34:43

SentryWeb APISentry API

2023-12-06 17:57:07

開發云服務

2022-01-02 23:26:08

開發SDK Sentry

2022-01-18 23:26:45

開發

2022-01-15 23:33:47

SentryPyCharm配置

2016-02-01 09:24:24

Quora排行算法

2011-12-27 09:31:13

程序員

2020-06-18 11:14:53

微軟谷歌開源

2012-08-22 09:39:28

開發者

2021-12-25 22:31:55

Sentry 監控SDK 開發 性能監控

2021-12-15 20:06:48

ReactJSSentry開發者

2022-01-21 21:33:03

開發JavaScript應用

2019-01-21 08:00:00

谷歌開源數據
點贊
收藏

51CTO技術棧公眾號

影院在线观看全集免费观看| 国产一二区在线| 日韩偷拍一区二区| 精品综合在线| 伊人久久在线| 成视频在线观看免费观看| 香蕉视频禁止18| 午夜欧美在线| 国产一区二区三区18| 日韩精品中文字幕在线观看 | 日韩激情一区二区| 美女久久一区| 黄视频在线观看免费| 91av久久| 日韩av最新在线观看| 亚洲高清视频一区| 久久99国内| 欧美综合在线第二页| 欧美国产美女| bt天堂新版中文在线地址| 成人精品国产免费网站| 久久一区二区三区av| 欧美性大战久久久久xxx| 亚洲伊人精品酒店| 久久亚洲精品伦理| 亚洲精品亚洲人成人网在线播放| 欧美日韩亚洲综合一区二区三区 | 成人a免费在线看| 国产一区二区三区四| 久久久国际精品| 日韩av不卡一区| 国产一区二区三区综合| 另类美女黄大片| 欧美午夜在线播放| 午夜精品久久久久久久99热| 99精彩视频| 激情婷婷丁香| 九色porny自拍视频在线播放 | 91精品国产综合久久男男| 日本中文字幕不卡免费| 成人免费网址在线| 在线电影av| 欧美日韩中文不卡| 国产在线播放一区二区三区| www欧美xxxx| 国产片侵犯亲女视频播放| 91视频久久| 5566中文字幕一区二区电影| 日本www.色| 国内激情久久| 国产脚交av在线一区二区| 精品成人一区二区三区四区| www.av毛片| 免费人成精品欧美精品| 国产丝袜精品第一页| 成人在线看片| 91国内精品白嫩初高生| 欧美福利视频在线观看| 国产日韩av网站| 福利一区福利二区微拍刺激| 最新日本在线观看| 99精品视频在线观看播放| 亚洲免费高清视频在线| 91九色porn在线资源| 久久精品成人一区二区三区蜜臀| 一区二区三区小说| 激情不卡一区二区三区视频在线 | www.av中文字幕| 久久av影院| 欧美日韩一区二区在线视频| 无线免费在线视频| 久久99精品久久只有精品| 黄色片av在线| 日韩女优制服丝袜电影| 国产成人在线免费看| 欧美综合色免费| 国产精品福利在线观看播放| av视屏在线播放| 色婷婷综合久久久久| 欧美一级久久| yw视频在线观看| 国产精品国产三级国产aⅴ9色| 亚洲综合色视频在线观看| 欧美在线免费视屏| 国产一区二区三区免费在线| 97视频免费看| 夜夜操天天操亚洲| 91在线视频官网| 888av在线视频| 日韩精品视频免费在线观看| 成人久久久久| 亚洲精品福利在线观看| 欧美一区二区三| 欧美精品免费观看二区| 亚洲婷婷国产精品电影人久久| 亚洲成人国产精品| 9999热视频在线观看| 国产亚洲精品成人av久久ww| 日韩漫画puputoon| 日本三级中国三级99人妇网站| 久久久久久免费毛片精品| 国产免费av在线| 手机在线观看av| 国产91精品露脸国语对白| 精品免费二区三区三区高中清不卡 | 69久久夜色精品国产69| 91在线播放视频| 午夜亚洲性色福利视频| 深夜福利视频一区| 午夜电影网一区| 乱人伦视频在线| 浮妇高潮喷白浆视频| 国产精品久久二区| 亚洲图片制服诱惑| 欧美日韩色婷婷| 国产激情精品久久久第一区二区| 手机视频在线观看| 国产美女扒开尿口久久久| 最好看的2019年中文视频| 一本到不卡精品视频在线观看| 亚洲深夜av| 久久精品一区二区不卡| 岳的好大精品一区二区三区| 91在线精品播放| 一区二区欧美在线| 精品久久久中文| 国产91对白在线观看九色| jlzzjlzz亚洲女人| 久久青青色综合| 免费男女羞羞的视频网站中文版| 中文字幕久久午夜不卡| 秋霞影院一区| 丁香花视频在线观看| 欧美精品一区二区三区国产精品| 九热爱视频精品视频| av剧情在线观看| 一二三中文字幕在线| 羞羞小视频视频| 日本道在线视频| 秋霞电影一区二区| 欧美成年黄网站色视频| 日韩欧美一区二区三区四区五区| 波多野结衣在线一区| 97久久中文字幕| 深夜福利视频一区二区| 欧美精品尤物在线观看| 国产在线不卡一区| 污污片在线免费视频| a天堂资源在线观看| 欧美精品一级二级三级| 视频在线在亚洲| 亚洲国产一区二区三区在线播放| 日本午夜在线| 国产精品老牛影院在线观看| 又黄又www的网站| 成人18视频日本| 亚洲免费观看| 亚洲久久视频| 韩国成人福利片在线播放| 日韩国产欧美在线观看| 国产成人综合在线播放| 国产成人成网站在线播放青青 | 91精品久久久久久久久久久久久久 | 欧美国产中文字幕| 伊人久久久久久久久久久久久| 日韩成人av网| 精品奇米国产一区二区三区| 亚洲国产毛片完整版| 亚洲天堂影视av| 欧美高清视频在线观看| 国产精品 欧美在线| 2022国产精品| 激情五月五月婷婷| 天堂a中文在线| 高清在线一区| 亚洲人成高清| 成人免费毛片高清视频| 亚洲欧洲成人精品av97| 香蕉成人av| 国产一区导航| 国产日韩在线一区| 亚洲乱码精品一二三四区日韩在线| 亚洲最好看的视频| 亚洲校园欧美国产另类| 久久www免费人成精品| 亚洲精品wwwww| 久久久久成人黄色影片| 国产一区二区三区日韩精品 | 夜夜精品浪潮av一区二区三区| 精品视频网站| 日本午夜在线视频| 日韩片电影在线免费观看| 日韩中文字幕在线| 亚洲影视在线播放| 鲁鲁在线中文| aa免费在线观看| 日韩一级高清毛片| caoporen国产精品视频| 欧美美女在线观看| 国内在线免费视频|