多仓库代码部署这个问题其实在13年做配置管理的时候,就遇到过这样的问题,而最近公司可视化图项目也需要多个仓库代码需要同时下载进行编译,由于仓库之间的代码编译有依赖关系,所以必须同时下载下来按照顺序进行编译,这时候同事他们写个父工程来定义了编译,所以这个时候需要下载visualization-rest ,visualization-admin,visualization-core , visualization-parent 。
1.安装Multiple SCMs Plugin插件,Jenkins 强大之处就是提供了许多万能的插件,只要你需求他就会有对应的插件帮助你解决问题;
2.插件安装成功后,选择Jenkins 任务在【源码管理】中会出现一项【Multiple SCMs】配置项目;
3.这时候可以根据自己需求选择代码管理的工具,注意这里所选择的代码管理工具是我们自己提前安装的代码管理插件,只有安装成功才会在【Add SCM】显示;
4.根据自己情况配置拉去代码,这个时候配置就于配置一个仓库时方法一致,只是由一个变成多个,这也是Multiple SCMs插件重要之处(这里以git为例);
5.此时我们配置完成多个仓库时,直接来构建任务,会出现第一个配置获取的代码被第二个配置的覆盖,最后只能保留下来最后一次拉去的代码,这样不是我们想要的效果,由于拉取代码会直接将代码放入任务工程目录,也就是以你创建任务的名字目录,所以下一个任务会对上一个覆盖,这个时候我们需要将每个仓库拉下代码放入独立的目录中,目录命名最好根据仓库命名一致;
6. 此时我们需要添加一个【Additional Behaviours】->【Check out to a sub-directory】,来辅助我们将代码放入子目录
7.这样再次获取代码就解决了冲突的问题,最后大家都会放在不同的目录,此时我们只需要编译父工程,这样所有的代码都构建成功了;