Jenkins - 选择下游作业作为复选框参数



假设有项目A有一个叫做jobs的复选框参数。在作业参数中,有三个下游作业 B、C 和 D。现在,如果我选择 C 和 D,是否有可能只触发这两个下游作业?

我知道我可以通过在构建步骤(shell)中为这两个作业调用远程 API 来做到这一点,但我想看看下游作业本身是否有选项。

这是自由式作业还是管道作业?这在管道作业中很简单。在自由式作业中,您可能可以使用条件构建步骤插件,但我不知道您是否可以使用条件触发构建后步骤,或者只是构建步骤。您需要进行测试,看看这是否可以让您检查需要的条件。

我可以建议您在作业 A 中配置条件步骤

您可以使用每个作业的新选择参数修改作业 A,例如:

  1. 名称:build_C; 选择:是/否;
  2. 在作业 A 中添加条件步骤(单个),其中包含运行执行 shell生成器在其他项目上触发/调用构建
  3. 在使用 execute shell 的运行部分中添加一个脚本来检查参数build_C是"还是"否",例如if [ $build_C == "YES" ]; then exit 0; else exit 1;fi
  4. "触发器/调用在其他项目上生成"部分中,要生成的项目指定作业 C

现在,当您使用参数启动作业 A 时,如果选择 build_C 作为 yes,作业 C 将运行。如果没有 - 将跳过作业 C。

最新更新