我的Jenkins服务器设置了两个作业A和B说。
作业A由subversion中的更改触发,运行单元测试,如果成功,则创建WAR并将其部署到另一个环境。
如果作业A成功,则作业B触发。此作业针对部署的WAR运行测试。
问题是部署过程需要一段时间,并且WAR没有准备好及时作业B启动并尝试使用它。
我正在寻找有关如何延迟作业B的想法,直到WAR启动并运行。
有没有办法,一旦工作B被触发等待x秒?如果我能避免的话,我真的不想把它放到Job B的测试中。
由于
答案 0 :(得分:2)
工作肯定有一种方法可以等待 - 只需将sleep
放入第一个shell构建步骤。或者,您可以在创建构建时设置“安静时段” - 它位于高级项目选项中。
答案 1 :(得分:1)
使这项工作最可靠的方法是在部署成功之前使作业A不完整,例如:通过从已部署的Web应用程序的URL测试有效响应。 This blog post描述了一种方法。