jenkins+Git子模块自动拉取代码

添加Git子模块
先克隆想要添加子模块的仓库git clone ssh://git@ip:port/user/project.git,这个是主目录。

进入仓库,添加子模块git submodule add ssh://git@ip:port/user/project.git,和主仓库不同。

ls查看,会有.gitmodules和子模块的项目名。

将生成的文件和目录push到主仓库中。

克隆有子模块的仓库

添加过子模块的仓库,如果想重新克隆,和普通克隆一样,不过克隆后需要在仓库目录下执行
git submodule initgit submodule update,如果不执行,子模块中会没有文件。

更改子模块的分支

切换到子模块目录,默认子模块是master分支,git submodule foreach git checkout dev
然后使用git submodule foreach git pull切换分支。

需要在jenkins任务的构建步骤中添加git submodule initgit submodule update,以及上述操作(写在这两个命令后面),
jenkins才能拉取到代码。

submodule可以进行tag和merge

git submodule foreach可以分别对子模块进行操作, 所以对所有子模块进行tagmerge操作, 就相当于对总项目进行相应的操作.

05-11 11:28