哈德森依赖的工作

时间:2011-04-27 09:27:42

标签: java hudson

我遇到这样的情况:一个通过轮询SCM运行的项目的哈德森工作,以及另一个用于发布项目的哈德森工作。在发布的第二个工作中,我们不希望多次运行IT测试,因此我们在发布之前我们希望运行一个带有作业,如果没有失败,我们将运行发布作业。 可以设置发布hudson作业来运行另一个作业,并且只有在它成功完成开始运行的情况下? THX

更新: 我有工作A和工作B.工作A可以在任何时候由每个人运行,它不应该触发任何其他工作2。但是,如果我想运行作业B,我需要在单击运行B之后它应该触发作业A并且仅在作业A成功完成的情况下作业B启动它自己的执行。

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你有一个运行自动化测试的构建,以及另一个创建你的版本的构建。您希望它们相互依赖,这样如果自动化测试失败,则不会重新构建版本构建。

我会采用不同的方法。 Hudson有一个功能,您可以存档“最后成功的工件”。如果您正确执行此操作,则可以归档在测试运行期间创建的二进制文件,并使用这些工件来推送您的版本。通过这种方式,即使是破坏的测试版本也不会影响您的“最后成功的工件”,并且您的版本将继续使用较旧的,成功的二进制文件。

答案 1 :(得分:0)

据我所知,使用默认安装时,这是不可能的。但是你可以使用Join触发器插件。然后,您必须创建一个新作业,例如“创建发布”。此作业触发测试的作业A(使用“构建其他项目”,然后在该新作业的“后构建操作”中定义“加入触发器”以运行作业B.