自己寫的一套 CiCd 工具系統

JokerFuPei發表於2020-11-06

一、背景

所在公司原開發流程是這樣的:

  1. 禪道維護專案及版本計劃
  2. Gitlab進行程式碼庫管理
  3. Jenkins進行版本構建打包
  4. 開發手動在禪道編輯版本資訊、手動在Jenkins觸發打包構建、手動部署至開發聯調環境
  5. 開發提測,附帶版本包地址
  6. 測試人員手動下載包,手動部署至測試環境,版本釋出上線時手動整理當前需要上線元件的版本號及包地址

光寫出來都覺得繁瑣,手動涉及的環節過多,大大降低了流程的整體效率。無論開發還是測試都需要輾轉於各個平臺,才能完成一次開發-測試-釋出的整體流程。因此誕生了拉通禪道、Gitlab、Jenkins,並一鍵打包部署、生成提測關鍵資訊、測試一鍵部署並在版本釋出時自動生成上線元件的版本資訊、包地址、MD5校驗等功能。

二、系統架構粗略情況

三、使用角色及使用路徑

四、使用效果

1. 專案關聯(拉通禪道,僅需1次)

2. 元件關聯(拉通Jenkins,僅需1次)

3. 開發環境Cicd(拉通Gitlab,讀取程式碼及分支用於打包)

4. 測試一鍵部署(自動讀取元件最新構建版本號,支援手動修改)

a. 新增部署

b. 部署記錄

c. 部署元件資訊

d. 部署日誌

e. 版本元件統計(版本釋出統計資訊)

5. K8s-pod健康度監控(支援動態篩選)

6. 環境元件版本監控(支援動態篩選)

7. 整體功能列表

相關文章