我们正在使用Hudson进行构建和部署。目前我们有四个主要任务:构建、部署-DEV、部署-测试和部署-PROD。
构建作业是参数化的,因此我们可以分配新的版本号,并使用由Hudson管理的BUILD_NUMBER来增加版本号。这个效果很好。我们还有一个默认为false的“夜间构建”参数。我们的意图是只通过另一项哈德逊工作来实现这一目标。
我们正在尝试拥有一个自动化的夜间构建作业,它首先使用“夜间构建”参数集调用我们的构建作业,一旦成功,就调用DEPLOY作业。我们还想调用声纳任务来分析代码,但是对于这个问题,两步解决方案就足够了。
对于夜间构建作业,调用参数化作业的唯一方法是“在其他项目上触发参数化构建”的构建后操作。我不能直接触发构建作业,因为“夜间构建”默认值是假的,而且我也不想触发任何manula构建。我还有一个夜间部署,它的构建触发器是“构建在其他项目构建之后”的夜间构建。因为它们都是最终发布的构建操作,所以它们是同时触发的,而不是连续的。
Started by user anonymous
Triggering a new build of BUILD #49
Triggering a new build of NIGHTLY-DEPLOY #3
Triggering a new build of NIGHTTY-SONAR #3
[DEBUG] Skipping watched dependency update; build not configured with trigger: NIGHTLY-BUILD #5
Finished: SUCCESS当我启动构建时,它将在几秒钟内完成,并同时启动构建和部署,因此在构建新版本时,旧版本正在部署。不是我想要的。
我查看并下载了"构建管道插件",但看起来它只是依赖于相同的post构建操作来实现自动转换,并为手动转换添加了新的功能。
有没有人对如何解决这个问题有任何建议?
发布于 2012-06-07 15:55:19
使用参数化触发器插件作为生成步骤,而不是构建后步骤。然后,它可以选择等待下游构建完成。
注意:这适用于Jenkins,我不能保证这个选项存在于插件的Hudson版本中。
https://stackoverflow.com/questions/10933063
复制相似问题