【发布时间】:2020-12-15 10:24:49
【问题描述】:
在我们的项目中,当作业完成特定阶段后,它将离开当前工作区,只继续远程工作。此时可以在同一管道上开始处理下一个作业,而不会影响第一个作业的结果。
也就是说,这个问题不是关于触发依赖或下游作业,而只是启动当前管道队列中的下一个作业。
是否可以声明下一个作业可以在第一个作业完成特定阶段后立即开始?
这是一个例子:
When this stage has finished, the next job could start.
v
+------------+------------+------------+-------------+------------+------------+
| | | | | | |
| Preparing | Building | Testing | Publishing | Deploying | Verifying |
| | | | | | |
+------------+------------+------------+-------------+------------+------------+
【问题讨论】:
-
请澄清。在
Publishing阶段,您是希望第一个作业触发第二个作业作为下游作业,还是希望第一个作业自行触发? -
我编辑了我的问题并希望更清楚地表明目标是再次触发相同的管道,或者更确切地说是在不实际再次触发管道的情况下开始队列中的下一个作业。
-
谢谢!是的,使用一些脚本是可能的,但 Jenkins 不能在没有被告知的情况下这样做。当一个作业自己触发时,它只会得到
queued,并且在之前的管道完成之前不会得到start,但是您可以通过在Publishing阶段中使用选项build job: firstjob来玩弄它。本质上,您需要get来自您工作所在的远程机器的一些参数或变量,并且决策需要围绕这些值编写脚本。如果您在远程工作上粘贴工作管道和信息,可以提供更多帮助。