Hudson/Jenkins - 并行与串行管道和作业重用

标签 hudson jenkins hudson-plugins

我有一系列 Hudson 作业要运行以测试各种构建:

  1. 在服务器 X 上构建 1.17
  2. 在服务器 X 上构建 Trunk
  3. 测试1
  4. 测试2

我想连续运行这些作业,每个作业等待另一个作业完成:Build 1.17、Test1、Test2、Build Trunk、Test1、Test2

另一方面,我还有另外两个作业 Test3 和 Test4,它们可以并行运行,并且紧接在 Build Trunk 之后。

我不想将多个作业从每个作业的构建后步骤部分链接在一起,但这是我可以让它们连续运行的唯一方法。这样做的问题是: 1) 作业重复:我需要 Test1 和 Test2 的 2 个副本:Build 1.17-> Test1 -> Test2 -> Build Trunk -> Test1 (copy for trunk) -> Test2 (copy for trunk)。 2) 更多重复:我需要另一个 Build Trunk,所以我不会在每次想运行 Test3 和 Test4 时都运行 Test1。

是否有一种简单的方法可以让作业连续运行,而无需修改单个作业并在顶级作业之外创建它们之间的依赖关系?

Is such a thing even possible

更新:最终我们所做的是使用 Rakefiles 来管理整个过程。没有一个插件对此足够强大。 hudson 作业调用带有 args 的 Rakefile,它调用其他 hudson 作业。

最佳答案

看看 Locks and Latches plugin - 这让您可以设置更复杂的构建依赖项,而无需重复您的作业。

关于Hudson/Jenkins - 并行与串行管道和作业重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7745045/

相关文章:

iphone - 使用 jenkins 构建没有源代码控制的本地 iphone 项目

git - 为 Gerrit 和 Hudson 创建 SSH key

hudson - 仅当上次执行另一个作业成功时才在 Hudson 中触发定期作业

version-control - 如何设置 Jenkins 来构建我的项目的所有版本?

build - 如何在 Jenkins 中查看完整的构建队列

version-control - 我应将HUDSON_HOME的哪一部分置于源代码控制之下?

jenkins - '+' 的字符串连接在 groovy 中不起作用

mercurial - Mercurial 更新失败时如何使 Jenkins 构建失败

jenkins - 在下游作业中聚合多个上游 SCM 更改

使用 Hudson + Artifactory 时,Maven WAR 覆盖问题