我有一个构建应用程序的Jenkins项目,然后,如果成功,将应用程序复制到我们的测试环境并重新启动Tomcat服务器。 Tomcat启动大约需要90秒。如何自动和/或以编程方式检查Tomcat启动是否成功,以便我可以触发部署到我们的暂存环境?我们有一个可以监控的监控URL,但我没有关于如何在Jenkins中实现这一点的线索。
答案 0 :(得分:1)
创建一个ant scriptlet,并将两件事放入parallel任务中:
这样的事情:
<target name="runCheckedTomcat">
<parallel>
<sequential>
<echo>Tomcat starts</echo>
<exec command="start.bat" dir="tomcatdir">
</exec>
</sequential>
<sequential>
<waitfor timeoutproperty="timeout" maxwait="15" maxwaitunit="second">
<socket server="localhost" port="8080"/>
</waitfor>
<antcall target="fail"/>
</sequential>
</parallel>
</target>
<target name="fail" if="timeout">
<fail message="Tomcat is not started in time"/>
</target>
答案 1 :(得分:1)
我只是通过在Jenkins中设置一个执行以下命令的简单exec-job来解决这个问题。
curl -f -m 120 -o /dev/null -s -S http://example.org:8080/application