如何使用Jenkins WorkFlow创建具有多个管道的复杂值流

Bar*_*ter 6 jenkins jenkins-workflow

如何在Jenkins WorkFlow中实现具有多个管道的复杂值流?类似于你可以使用Go CD:我如何用Go做CD ?:第2部分:管道和价值流.

对于分布式系统,我希望每个开发团队和运营团队都可以从他们自己的交付管道开始.一次更改只需要触发进行更改的团队的管道.它需要触发一个新的管道,需要从团队的每个管道中获取最新的成功工件并从那里继续前进.这意味着来自其他团队的工件不会重建或重新测试,因为它们没有被更改.在Fan In之后,我们可以运行一组自动化测试来验证分布式系统的正确行为.

在文档中我只发现你可以从多个VCS中获取,但我认为所有内容都会随着每次更改而构建和测试.这是我想避免的.

如果每个交付管道都在自己的Jenkins Job中.如何可视化完整的管道以及从其他管道中获取最后成功的工件或版本的最佳方法是什么?

Jes*_*ick 2

Jenkins 中没有直接对等的价值流,并且工作流作业在这方面的行为没有任何不同:您可以将上游作业和下游作业与触发器(在本例中为步骤build或核心)相关联。ReverseBuildTrigger)相关联,并使用 (for例如)复制工​​件插件将工件传输到下游构建。同样,您可以使用外部存储库管理器作为 Truth\xe2\x80\x9d 的 \xe2\x80\x9c 源,并根据推送到存储库的快照定义作业触发器。

\n\n

也就是说,工作流的部分目的是避免在大多数情况下需要复杂的作业链\xc2\xb9,因为通常更容易使用标准控制流运算符和局部变量来推理、调试和自定义单个脚本而不是管理一组相互依赖的工作。如果单个流程的主要问题是您需要避免重建未修改的部件,一种解决方案是使用JENKINS-30412之类的东西之类的东西来检查特定存储库签出的更改日志,并在为空时跳过构建步骤。我认为在工作空间被其他构建破坏或丢弃的一般情况下,需要更多功能才能使这样的系统正常工作。

\n\n

\xc2\xb9 您肯定需要单独作业的一种情况是,出于安全原因,为不同项目做出贡献的团队不得彼此看到\xe2\x80\x99s 源或构建日志。

\n