項目的持續集成分享
源代碼管理
- 項目倉庫
- 配置倉庫
- 發布倉庫
ci/cd相關
- gitlab,管理版本,測試流水線
- jenkins,對項目進行持續集成
各模塊的關系
graph TD a(jenkins piple)-->b(項目A源代碼倉庫) a-->c(項目A配置倉庫) a-->d(項目A部署腳本倉庫)
jenkins pipe集成項目的過程
graph TD a1(job啟動)-->a2(scm拉pipeline部署代碼) a2-->a(scm拉項目代碼) a-->b(build編譯項目) b-->c(test測試項目) c-->d(build image構建鏡像) d-->e(tag為鏡像打版本號) e-->f(deploy將鏡像推送到倉庫) f-->g(service建立服務) f-->h(sevice更新服務)
一般我們都是按着上面部署進行項目構建的,像這個JOB執行過程一般由運維人員負責,所以我們會將pipe的核心代碼抽象成一個文件,存儲在自己的倉庫里,由開發人員自己去維護,而運維人員只負責點一下按鈕即可。這也就是分離關注點的意思。