问题:在使用gitlab-ci的时候,发现gitlab-runner默认只拉取了父项目,而项目下挂载的子项目并没有拉取,导致项目编译缺少依赖报错。
分析:gitlab-runner在拉取代码的时候,没有Jenkins相关的递归拉取配置。因此在代码克隆的时候没有子项目的关联关系,CI脚本中使用git submodule foreach git pull命令也无法拉取子项目。
解决:增加变量定义,将子项目的拉取设为normal,并增加模块初始化动作到before_script脚本中。
代码如下:
variables:
GIT_SUBMODULE_STRATEGY: normal
before_script:
- git submodule update --remote
网友评论