submodule是个好东西,配合构建工具的模块化功能在提取代码公共模块非常好用
本地用起来虽然非常爽,但是如果配合jenkins自动化构建就会有一些坑
例如子模块的分支选取,递归update,等问题
默认submodule的分支选取是坑爹的,如果不指定分支则会读取master分支下的代码或者是head游离态下的代码
下面贴下jenkinsfile拉取代码部分的脚本
checkout scm
git submodule update --remote --recuresive
update 就不解释了 更新子模块
remote 表示拉取远程分支下的所有分支
recuresive 表示递归更新所有文件夹下的子模块
命令写好了还需要在每个父模块下添加 .gitmodules文件
[submodule "common-web"]
path = comm