gpt4 book ai didi

jenkins - 你如何在 Jenkins 中将两个不同的构建管道联系在一起?

转载 作者:行者123 更新时间:2023-12-04 19:56:47 25 4
gpt4 key购买 nike

我在 jenkins 中有一个构建管道,用于构建和部署暴露 REST API 的后端组件。我有另一个构建管道,用于构建和部署调用后端组件的前端组件。后端和前端组件位于单独的 Git 存储库中。

当每个 Git 存储库中发生提交时,每个管道的构建作业就会启动。

我想在每个构建管道的构建管道末尾运行自动化功能测试。但是我怎么知道两个管道都已完成并且应该运行功能测试?它可以将两条管道连接在一起吗?

最佳答案

一种方法是使用 Locks and Latches插件并为每个管道上的每个作业提供自己的锁,例如管道 A 和管道 B,然后运行测试的作业被配置为获取管道 A 和管道 B 上的锁。如果任一管道的任何部分正在运行,这既可以防止测试作业运行,也可以在测试运行时阻止管道上的任何更改。

如果您只想锁定部署作业,您可以使用相同的方法,但只使用锁定配置部署作业;这将允许正常构建正常运行,但在测试运行时部署作业排队。

假设;

  • 任何 Deploy 作业都会触发测试执行

  • 第二种方法是设置您的作业管道,以便在执行部署之前触发以下布局中的单个作业;
    EndOfPipelineA -> SystemDeploymentController
    EndOfPipelineB -> SystemDeploymentController
    SystemDeploymentController -> DeployAppOne
    SystemDeploymentController -> DeployAppTwo
    DeployAppTwo -> TestExecution
    DeployAppOne -> TestExecution

    然后你使用 Join插件仅在部署完成且成功时运行 TestExecution 作业。

    第二种方法允许您:
  • 有条件地控制测试执行的执行取决于成功
    部署,
  • 如果您对其运行的系统进行任何更改,则有一个工作可以让您重新部署整个系统,然后自动运行测试。
  • 潜在地利用促销插件来突出显示两个应用程序协同工作良好的“良好配置”

  • 然而,管理起来有点棘手。

    关于jenkins - 你如何在 Jenkins 中将两个不同的构建管道联系在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869433/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com