如何在依赖作业之间配置执行开始?

时间:2012-02-29 18:40:33

标签: jenkins

我的Jenkins服务器设置了两个作业A和B说。

作业A由subversion中的更改触发,运行单元测试,如果成功,则创建WAR并将其部署到另一个环境。

如果作业A成功,则作业B触发。此作业针对部署的WAR运行测试。

问题是部署过程需要一段时间,并且WAR没有准备好及时作业B启动并尝试使用它。

我正在寻找有关如何延迟作业B的想法,直到WAR启动并运行。

有没有办法,一旦工作B被触发等待x秒?如果我能避免的话,我真的不想把它放到Job B的测试中。

由于

2 个答案:

答案 0 :(得分:2)

工作肯定有一种方法可以等待 - 只需将sleep放入第一个shell构建步骤。或者,您可以在创建构建时设置“安静时段” - 它位于高级项目选项中。

然而,这是一种只有在其他方法失败时才能使用的创可贴解决方案。您可以尝试以下操作:如果有一种方法可以在完成触摸Jenkins有权访问的文件之前完成部署过程(该作业A触发),则可以使用FSTrigger Plugin。请参见用例3。

答案 1 :(得分:1)

使这项工作最可靠的方法是在部署成功之前使作业A不完整,例如:通过从已部署的Web应用程序的URL测试有效响应。 This blog post描述了一种方法。