目錄
工具鏈困境
難題的解決
達到的效果
資源要求低
工具箱一覽
1、代碼管理工具
2、自動化發版(測試)工具
3、依賴庫(制品包)管理
4、鏡像管理
5、授權管理(可選)
待討論:為什么不是jenkins
相關鏈接
工具鏈困境
小公司開發人員少,一般只有幾個。為此專門招聘IT人員搭建龐大的IT框架有點不劃算。
但是靠開發人員本地維護代碼和版本又不方便,既增加了開發人員的工作量,又增加了管理難度。
難題的解決
搭建一套簡單的軟件IT設施,不需要IT人員維護,同時又能提高我們的開發效率。
這樣就一站式解決代碼管理,自動化發版,自動化測試,依賴庫(制品包)管理,鏡像管理,授權管理等問題。
達到的效果
-
組織規范:代碼、發版二進制文件統一管理。
-
流水線作業,自動化程度高:研發通過打tag或者提交mr的方式觸發流水線自動編譯、打包、測試和上傳等動作。不用擔心拉錯分支,編錯版本。
-
學習成本低,易上手:只需基礎的git,docker使用經驗,熟悉wget和curl等基礎的文件上傳和下載。
資源要求低
一臺Linux服務器
工具箱一覽
1、代碼管理工具
gitlab服務器社區版
建議部署到docker中,既不影響物理機環境,后續一旦有遷移需求,也很方便
2、自動化發版(測試)工具
gitlabrunner
安裝方式簡單,下載deb包安裝即可,因此可以部署到物理機。 也支持部署到docker中。
經過簡單的配置后,就可以在gitlab上配置CI,通過gitlabrunner做流水線CICD發版和測試。
3、依賴庫(制品包)管理
最簡單的方式是搭建一個http文件服務器(nginx或者其他)
最好是安裝artifactory專業的制品庫管理工具,他具有嚴格的權限管理且有web頁面
4、鏡像管理
-
dockerfile和構建腳本: 用git管理
-
docker鏡像: 用artifactory或harbor存儲和管理
5、授權管理(可選)
openLDAP可以配置到git,artifactory以及harbor上面實現類似域帳號的統一認證功能
安裝openLDAP后可以接入統一認證系統,實現一個用戶名密碼登錄git,artifactory等所有系統
如果覺得配置起來麻煩,可以通過各平臺手動添加用戶或者手動注冊的方式進行,例如直接通過gitlab頁面注冊
待討論:為什么不是jenkins
jenkins也是一個CICD工具鏈,有很多使用場景。
但對小型團隊的收益有限,還增添了額外的學習成本。
相關鏈接
CICD:為gitlab搭建gitlab-runner服務支持docker流水線pipeline
這寫是我在小公司的真實實踐,希望能幫助到同樣在小公司的你。