build - 在下游项目之前触发上游项目构建

我有以下项目布局:

  • WAR 项目 A
    • 上游项目
      • 依赖 B
      • 依赖C
      • 依赖 D

我希望设置 A,以便每次我想触发构建时,它都会首先构建 B、C 和 D。如果 B、C 或 D 的构建失败,那么 A 的构建也会失败.

这似乎是一个常见的构建案例,但我不确定如何完成它。有以下选项,但它们似乎没有正确的关系:

  • 构建触发器 - 在构建其他项目之后构建
    • 将在一些上游项目之后构建当前项目,但我需要控制来自该项目的构建,因为我正在进行 WAR 部署。我只想始终先构建依赖项。
  • 构建后操作 - 构建其他项目
    • 将在此之后构建项目,但这与我想做的事情相反。

Hudson 中是否有适合我的构建配置(或通过插件)?

最佳答案

这是最近出现在 Hudson 邮件列表中的。 Hudson 中没有直接支持这种类型的构建配置。

看到这个帖子: http://jenkins.361315.n4.nabble.com/On-demand-build-dependency-handling-simple-2-job-build-td624395.html

您可以使用加入插件来创建“构建+部署”作业。它将 B、C 和 D 作为下游项目,然后“A”将成为连接目标。

因此 B C 和 D 需要成功完成。如果是这样,那么将启动 A 的简单“部署”作业。如果有任何错误,A 将不会启动。这实际上与您要求的相同。

您可以在此处阅读有关加入插件的信息: http://wiki.hudson-ci.org/display/HUDSON/Join+Plugin

https://stackoverflow.com/questions/1848764/

相关文章:

java - 切换到 Java 7 时构建时间显着增加

list - 如何以编程方式列出执行 MSBuild 时定义的所有属性?

visual-studio - 为什么用 Visual Studio 构建驱动程序是 "Bad"?

iphone - 什么是 "Couldn' t 打开共享功能内存 GSCapabilities (没

javascript - 减少 React/MERN Stack Bundle 的大小 - 主要是删

build - 为什么 Gradle 不在编译/运行时类路径中包含传递依赖项?

java - 在 Play 上使用 Clover 执行代码覆盖!使用 Ant 的框架应用程序

javascript - 如何使用 npm 脚本将 typescript 编译成 javascrip

xcode - 如何在 xcode 持续集成中自动删除旧构建的文件?

ios - 通过脚本在 Xcode 项目上启用 iCloud