我有一个名为“a”的詹金斯作业,它在成功完成后触发作业“b”(作业“b”位于作业“a”的下游)
有没有办法运行作业“a”而不自动触发作业“b”? 也许某种插件?
禁用作业“b”。那么即使从“a”触发它也不会运行。
如果您需要更动态/自动化的解决方案,那么您还可以从作业“a”中禁用/启用作业“b”。
如果您检查 UPSTREAM 作业上的配置,您必须添加一个 POST-BUILD 步骤,如下所示,并且可能会从此处显示的内容中进行选择。您谈论的作业 B,它将根据作业 A 的结果以及可用的选择来触发,无论您从下拉列表中做出什么选择,它都会被触发。
因此,在您认为不应触发作业 B 的场景(作业 A 的结果)下,唯一留下的选项是“禁用”它。 希望这有帮助!
接下来,在预构建步骤中,您要添加一个带有简单条件语句的执行 shell:
if [ "${FortifyScan_To_Trigger}" == "true" ]; then touch runfortify.txt else echo " No scan" fi
在后期步骤中,您要添加条件步骤,如下所示:
向触发下游作业的条件添加步骤:
接下来,你想要建立你的工作。如果 shell 中的条件为真,它会检查 runfortify 文件,然后在主作业完成时触发下游作业。但如果条件为 false,则仅运行主作业,但下游作业将不会运行。希望这有帮助