由于觉得jenkins太过重,并且公司内部的jenkins权限管理导致不好进行尝试,因此转而考虑用gitlab-ci进行持续集成。
因为我现在对接的开发基本都不是专业码农,因此核心诉求是最简单的每次提交都build的CI,来维持开发主分支的稳定性。
目前已经完成了gitlab-runner的配置,但是遇到了一些问题。
我们的git仓库由于权限限制,因此管理比较混乱,贴张图感受下。
gitlab
在gitlab上,主工程和子工程是所属同一个group的,命名无特殊化
finder
然而实际上整个工程的构成如下(本地目录)
首先是main project相当于是一个外壳工程,其中包含了两个目录,common和src。subproject1是放在common目录下的,另外两个subproject放在src下。并且这三个subproject均依赖main project另一个目录include下的文件,简而言之就是没有main project的外壳,三个subproject无法编译。
但是其实每个工程都有专人维护,或者说有独立的开发进行开发和bugfix。想要使用gitlab-ci对每个repo的每次提交进行build检查(暂时不考虑分支),有没有什么比较好的处理方案呢,希望有人能在评论讨论一下呢。
考虑过git-submodule的做法,但是我们subproject提交很频繁,维护的复杂度有点儿高,并且submodule无法触发主工程打包。