运行相同的jenkins工作与不同的源代码,但在parellel

时间:2015-12-22 09:23:11

标签: maven jenkins continuous-integration jenkins-plugins

我有一个jenkins工作,负责构建和部署maven项目。这项工作取决于我传递给工作的几个参数。这项工作还检查了git存储库中的代码。

我有4个分支(开发,测试,发布和补丁)作为项目的源代码。

如何使用不同的参数和项目的不同源代码运行相同的作业。

示例: - 假设我们通过将param1和param2传递给作业并使用dev分支来触发作业。

  • 考虑到步骤1的运行尚未完成,如何通过传递param3和param4来触发相同的工作,但这次使用测试分支

我想从同一个作业并行地从不同的源分支做不同的构建。

其他任何建议的设计?

1 个答案:

答案 0 :(得分:0)

这里的一个固有问题是 - 当您触发同一作业的另一个构建时,它将覆盖它正在使用的工作区。

有两种方法可以解决IMO问题:

  1. 就像@bish在评论中提到的那样 - 两个独立的工作。
  2. 传递一个参数,该参数将启动一个小脚本,该脚本会将项目签出到workspace/subdir文件夹而不是workspace。您可以在Add pre-build step - >中执行此操作Execute shell script。在这里,您需要确保不要删除工作区文件夹'。 (Jenkins GIT插件有一个选项可以将项目签出到子目录,但是我无法弄清楚如何有条件地触发它。所以,在这里进行简单的手动干预。) 接下来,您可以选择提供可用分支的列表,如我之前的answer s
  3. 中所示。

    如果有帮助,请告诉我。