【问题标题】:Creating Maven assembly with files from different Git branches使用来自不同 Git 分支的文件创建 Maven 程序集
【发布时间】:2015-07-09 10:56:26
【问题描述】:
我们正在开展一个项目,在该项目中,我们使用了多个 Git 分支,每个分支的内容都不同。我们需要使用 Jenkins 中的 maven 插件创建 .zip 文件,其中包含来自不同分支的文件。 Jenkins 中是否有支持此任务的选项?
提前致谢
【问题讨论】:
标签:
git
maven
jenkins
continuous-integration
git-branch
【解决方案1】:
我第二个@khmarbaise 的问题。
但是,可以通过以下方式在 Jenkins 作业的配置中添加多个分支:
源代码管理 → Git → 要构建的分支 → 添加分支...
我尝试了两个分支,branch1 和 branch2:
- 如果有提交推送到远程仓库中的两个分支,则作业会自动运行两次。签出两个分支之一的每个运行。
- 如果任何分支上都没有新的提交,则作业将运行一次,最后配置的分支 (
branch2) 已签出。
- 如果
branch1 上有一个新的提交,则只有在branch1 签出的情况下作业运行一次。
现在由您将所需的文件添加到您的.zip。
如果 Jenkins GIT 插件的这种行为不符合您的需求,您可以:
- 创建一个项目:
- 签出
branch1
- 将你需要的文件从
branch1复制到某个目录,例如for-zip
- 在第一个项目的下游创建第二个项目:
- 签出
branch2
- 使用构建环境 → 将数据复制到工作区 → 文件夹路径:
<branch1 project's workspace>/for-zip
- 创建
.zip
您可以使用Shared workspace plugin,而不是将所需文件从一个项目的工作区复制到另一个。