哈德森连续执行工作

时间:2012-06-07 13:41:45

标签: continuous-integration hudson

我们正在使用Hudson进行构建和部署。目前,我们有四个主要工作:BUILD,DEPLOY-DEV,DEPLOY-TEST和DEPLOY-PROD。

BUILD作业已参数化,因此我们可以分配新版本号并使用Hudson管理的BUILD_NUMBER扩充它们。这非常有效。我们还有一个“nightlybuild”参数,默认为false。我们的目的只是通过另一个Hudson工作来设置这个。

我们正在尝试使用“nightlybuild”参数集首先调用我们的BUILD作业的自动NIGHTLY-BUILD作业,一旦成功,请调用DEPLOY-DEV作业。我们还想调用SONAR作业来分析代码,但对于这个问题,两步解决方案就足够了。

对于NIGHTLY-BUILD工作,调用参数化作业的唯一方法是“触发参数化构建在其他项目上”的构建后操作。我无法直接触发BUILD作业,因为“nightlybuild”默认值为false,我也不想触发任何manula构建。我还有一个NIGHTLY-DEPLOY,在NIGHTLY-BUILD上有一个构建触发器“在构建其他项目之后构建”。由于这些都是最终的构建后操作,因此它们会同时触发而不是连续触发。

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

当我开始构建时,它会在几秒钟内完成并同时启动BUILD和DEPLOY,因此在构建新版本时,旧版本正在部署。不是我想要的。

我查看并下载了“Build Pipeline Plugin”,但看起来它只依赖于自动转换的相同后置构建操作,并为手动转换添加了新功能。

有人对如何解决此问题有任何建议吗?

1 个答案:

答案 0 :(得分:0)

使用参数化触发器插件作为构建步骤,而不是构建后步骤。然后它有一个等待下游构建完成的选项。

注意:这适用于Jenkins,我不能保证插件的Hudson版本中存在此选项。