- 《架構世界》2020DevOps刊:DevOps實踐指南
- 普元信息
- 1515字
- 2020-09-03 11:23:13
二、
平臺實施過程調研和評估
調研和評估過程主要為了了解客戶的管理成熟度和重要流程,以此為依據制定提升目標及改進方案,為遷移到
平臺做準備。為此,我們整理了調研問卷,涉及項目研發的整個過程。在實施初期,我們一般會選擇比較有代表性的項目,進行調研和分析。我們會從需求管理、開發、代碼管理、構建、測試、部署、發布這幾個方面進行調研和分析,判斷項目是否適合遷移到
平臺,項目研發過程的某些環節是否需要進行改進和完善。根據調研問卷,各方面的具體關注點如下:
? 需求管理:需求管理工具、用戶故事、任務、迭代等
? 開發:開發語言、開發工具、技術框架、運行環境、組件劃分及依賴關系等
? 代碼管理:代碼及文檔管理工具、代碼庫分支及用途、分支策略、代碼質量檢測工具及質量指標等
? 構建:構建工具、構建過程及構建策略、構建介質策略、中間介質及最終介質管理等
? 測試:用例和
管理、自動化測試工具、驗收標準等? 部署:環境規劃、環境配置、部署方式、依賴的中間件和公共組件等
? 發布:上線交付物、發布流程、應用及數據備份方式、回滾方式等
本階段產出文檔:調研問卷、提升建議和改進方案。
制定規范
經過對典型項目的調研和分析,結合客戶的實際關切點,根據最佳實踐制定相關規范,為后續項目遷移到
平臺提供條件。這里主要介紹兩個規范:
代碼庫規范:包括分支和標簽命名規范、分支管理規范(管理流程、
流程、分支策略)、代碼提交規范。以分支開發、主干發布為例,管理流程規范中會涉及代碼庫準備、開發集成、驗收測試、發布環節,每個分支的用途,每個環節中涉及的角色,角色的操作流程都有詳細規范。
流程規范:命名規范:組件、介質倉庫、構建定義、構建產物別名、發布定義。流水線規范:開發流水線、用戶驗收測試流水線及回滾流水線、發布流水線及回滾流水線、 流水線。
通過制定流水線的規范,形成不同類型項目的
流程模版,可以作為組織級規范進行審計。對于流水線的定義和設計,需要考慮客戶的環境規劃和網絡策略。一般情況下,會設計和定義開發測試流水線、用戶驗收測試流水線、發布流水線這些常規流水線,對應開發測試環境、用戶驗收環境、生產環境。開發測試流水線經過多次執行,業務系統形成穩定版本,交付到用戶驗收測試流水線,通過用戶驗收測試之后,再轉到發布流水線進行發布上線;這個過程也設計到代碼分支和標簽的維護。
有的客戶,階段交付物是某個版本的工件介質,并且介質庫可以多環境共享或者同步,這種情況下需要在開發測試流水線中設計構建環節和部署環節,在用戶驗收流水線和發布流水線不需要構建環節,因為交付介質像下一個環境同步即可。
流水線設計如下:

有的客戶階段交付物是代碼,且各個環境有網絡策略限制。這種類型的流水線,不同環境需要根據對應的代碼分支或標簽將介質構建出來,然后再進行部署。
流水線設計如下:

產出文檔:代碼庫規范文檔、
流程規范、流程配置規范、度量指標等。培訓
主要是對
平臺和相關的規范的培訓。 平臺的培訓,主要是為了讓用戶熟悉 的能力。規范培訓,主要結合具體的使用場景和最佳實踐讓用戶了解和熟悉代碼庫、 流程等規范。項目試點及推廣
項目試點是非常重要的環節,也是后續能否進行推廣的重要評判依據。經過前期的項目改進,以及流程規范的普及推廣,試點項目作出適當調整,試點項目的遷移是對之前所有工作的一個重要檢驗。
在試點階段,一方面是要通過試點項目的規范化改造,打造同類項目的流程規范,形成可復制的流水線模式;另一方面看遷移前后給試點項目帶來哪些好的效果,是否符合預期,是否還有需要改進的空間,平臺能力是否需要提升等等。項目試點階段產出的文檔和手冊是后續推廣的重要資源。
當試點項目的遷移達到預期效果,就可以進行
平臺的普及推廣。