gpt4 book ai didi

build - Jenkins Partial Build/Modular Build on Commit Hook

转载 作者:行者123 更新时间:2023-12-04 16:00:13 33 4
gpt4 key购买 nike

工具:
Jenkins 版1.470
Maven 2
颠覆

环境

假设我的构建有许多项目 A-D。如图所示,依赖关系图存在。也就是说:B 依赖于 A 中的类,C 依赖于 B 中的类,D 依赖于 A 中的类。我们创建 jenkins 构建,以便他们将依赖于它们的构建称为构建后操作。

一种
|--> B --> C
|--> D

每天晚上,我们在 Jenkins 中触发一个完整的构建(A 构建,触发器 B(触发器 C),触发器 D)。这很容易通过告诉 A 每晚构建,其余的级联来完成。

问题

但是,在提交时,我们希望构建曾经提交过的项目。

  • 情况1:我们轮询存储库(或使用 commit hooks ,没有区别),发现有一个提交给 B,然后 B 将构建,C 将构建。 成功!
  • 情况 2:我们轮询存储库,发现 B 和 C 在一次提交中被提交,然后 Jenkins 将尝试构建 B(触发 C 的构建),并构建 C(第二次构建)。 失败。 走着瞧吧? C 构建了两次,占用了宝贵的构建时间。保持快速构建!

  • 有谁知道在每个提交的构建管道中只触发最高项目的方法?

    我想一个解决方案是一个复杂的 SVN 钩子(Hook),它确定每个管道中的最高项目......
  • 情况 3:在一次提交中提交 B C 和 D。 SVN 钩子(Hook)发现 C 依赖于 B。钩子(Hook)调用特定于项目的链接来开始构建 B 和 D。

  • 陷阱:非常复杂的 SVN 提交 Hook 。必须维护 SVN Hook 中的管道。

    我觉得这是其他人遇到的问题。有没有 Jenkins 插件可以帮助解决这个问题?

    最佳答案

    说 jenkins 等待构建直到 c 依赖的构建完成是一个想法。这是作业配置中的一个标志,用于执行此操作。但是您必须为每项工作执行此操作。
    顺便说一句......还有另一个标志要求 Jenkins 等待构建,直到依赖作业完成。

    关于build - Jenkins Partial Build/Modular Build on Commit Hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109192/

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