我有 4 个作业需要按以下顺序执行
JOB A
|------> JOB B
|------> JOB C
|------> JOB D
在上述
- A 应该同时触发 B 和 C,C 反过来触发 D。
- A 应该保持工作运行,直到他们三个都完成。
我尝试了以下插件,但无法实现我想要的
- 加入插件
- 多任务插件
- 多配置项目
- 参数化触发器插件
有没有我没有尝试过的插件可以帮助我解决这个问题。或者这可以通过不同的方式实现。请指教。
我有 4 个作业需要按以下顺序执行
JOB A
|------> JOB B
|------> JOB C
|------> JOB D
在上述
我尝试了以下插件,但无法实现我想要的
有没有我没有尝试过的插件可以帮助我解决这个问题。或者这可以通过不同的方式实现。请指教。
将DSL 脚本与Build Flow插件一起使用。
尝试执行此示例:
build("job A")
parallel
(
{build("job B")}
{build("job C")}
)
build("job D")
我正在尝试构建相同的系统。我正在构建一个认证管道,我需要在其中运行打包/构建/部署作业和相应的测试作业。当所有这些都成功时,我想汇总测试结果并触发可以进行自动化 maven 发布的发布作业。
我选择了构建管道插件来实现系统的可视化。最初尝试使用带有阻塞构建的参数化触发器插件。我无法以这种方式设置归档工件/指纹和下游构建关系,因为归档工件仅在 postbuild 中有效。然后我将参数化触发器放在构建后活动中。通过这种方式,我能够设置下游构建、指纹识别、汇总测试结果,但构建失败并没有冒泡到上游作业链,上游作业是非阻塞的
我终于能够使用这些插件来实现这一点-
我正在使用詹金斯 1.514
系统看起来像这样
触发作业 --> 构建(和部署)作业 (1..n) ---> 测试作业 (1..n)
触发作业 -
创建为 MultiJob 并在 shell exec 中创建指纹文件
回声date +%s
>指纹.txt
诀窍是文件需要在构建期间存档,以执行此脚本-
ARCHIVEDIR=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_ID/archive
mkdir $ARCHIVEDIR
cp fingerprint.txt $ARCHIVEDIR
在 trigger Job 中,使用 Join Plugin 通过选择“Run Post Build Actions at join”来执行 Release Job,并仅在 Trigger Job 的稳定构建上执行发布项目。这样,所有步骤都显示在 Build Pipeline 视图中,并且 Trigger 作业正在阻止所有下游构建完成,并将其状态设置为最差的下游构建,以便为发布作业提供决策点。
多任务插件
如果您想停止下游/上游工作链定义的混乱。或者,当您想要添加将按顺序或并行执行的完整 Jenkins 作业层次结构时。将上下文添加到您的构建流,实现从 MultiJob 到其所有阶段和作业的参数继承。阶段是顺序的,而每个阶段内的作业是并行的。
这可能不是最佳方式,但它应该有效。使用参数化触发器插件。对于作业 A,添加一个构建步骤(不是构建后操作)以在同一构建步骤中同时启动作业 B 和 C,并阻止它们完成。在 Job C 中,添加一个构建步骤(不是 Post Build Action),它启动 Job D 并阻塞直到它完成。这应该让 Job A 一直运行。
但这并不是最理想的:作业 A 处于打开状态,等待 B 和 C 完成。然后 C 保持打开直到 D 完成。
作业 A 需要在这段时间内保持运行是否有某种原因?另一种可能性是在 B 和 C 启动后让 Job A 终止,但在 Job A 上进行升级,它将在 Job B、C 和 D 成功后执行您的最终操作。