由于覺得jenkins太過重,并且公司內(nèi)部的jenkins權(quán)限管理導(dǎo)致不好進(jìn)行嘗試,因此轉(zhuǎn)而考慮用gitlab-ci進(jìn)行持續(xù)集成。
因為我現(xiàn)在對接的開發(fā)基本都不是專業(yè)碼農(nóng),因此核心訴求是最簡單的每次提交都build的CI,來維持開發(fā)主分支的穩(wěn)定性。
目前已經(jīng)完成了gitlab-runner的配置,但是遇到了一些問題。
我們的git倉庫由于權(quán)限限制,因此管理比較混亂,貼張圖感受下。
gitlab
在gitlab上,主工程和子工程是所屬同一個group的,命名無特殊化

gitlab組織
finder
然而實際上整個工程的構(gòu)成如下(本地目錄)

本地目錄結(jié)構(gòu)
首先是main project相當(dāng)于是一個外殼工程,其中包含了兩個目錄,common和src。subproject1是放在common目錄下的,另外兩個subproject放在src下。并且這三個subproject均依賴main project另一個目錄include下的文件,簡而言之就是沒有main project的外殼,三個subproject無法編譯。
但是其實每個工程都有專人維護(hù),或者說有獨立的開發(fā)進(jìn)行開發(fā)和bugfix。想要使用gitlab-ci對每個repo的每次提交進(jìn)行build檢查(暫時不考慮分支),有沒有什么比較好的處理方案呢,希望有人能在評論討論一下呢。
考慮過git-submodule的做法,但是我們subproject提交很頻繁,維護(hù)的復(fù)雜度有點兒高,并且submodule無法觸發(fā)主工程打包。