先说下背景,一个gitlab的代码项目,其中以submodule方式引用了同gitlab实例里其他group内的项目,.gitmodules文件内容类似这样:
[submodule "lib1"]
path = lib1
url = http://gitlab.xxx.xxx/group1/lib1.git
[submodule "lib2"]
path = lib2
url = http://gitlab.xxx.xxx/group2/lib2.git
[submodule "lib3"]
path = lib3
url = http://gitlab.xxx.xxx/group3/lib3.git
这个结构在本地开发时子模块管理操作没有任何问题,当然本地的gitlab账号是有依赖的几个子模块代码仓库访问权限的。而在搭建项目CI构建环境时,linux系统使用的是gitlab的docker runner方式,没有任何问题,而在mac系统却遇到了无法初始化submodule的错误问题(使用的是shell runner方式):
Continue reading…