我有一个Jenkins项目构建一个应用程序,如果成功的话,将应用程序复制到我们的测试环境并重新启动Tomcat服务器。 Tomcat启动大约需要90秒。我如何自动和/或以编程方式检查Tomcat启动是否成功,这样我可以触发部署到我们的分段环境?我们可以监视一个监视器URL,但我没有关于如何在Jenkins中实现这一点的线索。如何确定部署缓慢的应用程序是否正确部署?
1
A
回答
1
我只是通过设置在詹金斯简单EXEC作业执行下面的命令来解决这一点。
curl -f -m 120 -o /dev/null -s -S http://example.org:8080/application
1
创建一个小脚本蚂蚁,把两件事情成parallel任务:
- 启动Tomcat与exec任务
- 一个condition元素与插座监听的Tomcat waitfor内部HTTP端口。您可以定义timout属性,如果它是在waitfor之后定义的,则可以使用fail来使构建失败。要检查属性,您可以简单地创建一个带有条件运行的子目标,等待后您可以调用它。
因此,像这样:
<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. Opa:正确部署opa应用程序
- 2. 如何正确部署?
- 3. ASP.NET正确部署过程
- 4. 如何正确部署您的PHP应用程序?
- 5. 得到部署后PM2应用程序的正确状态/重新部署
- 6. 如何在Java后端正确部署Angular 2应用程序?
- 7. 如何正确部署Spring + JPA应用程序
- 8. 如何正确地将前端应用程序部署到GCE?
- 9. 部署节点应用程序的正确工作流程
- 10. 谷歌应用程序引擎如何正确部署了应用程序
- 11. Node.js应用程序:正确的部署和安全
- 12. Google App Engine部署不正确的应用程序
- 13. 在j2ee服务器上部署mule应用程序是否正确?
- 14. 正确部署Maven项目
- 15. 正确的Amazon S3部署过程
- 16. 如何正确部署示例源和引用程序集?
- 17. 使用Ruby 1.9.2缓慢部署大型Rails 3应用程序
- 18. Webpart部署非常缓慢
- 19. 如何在已部署的应用程序中部署portlet?
- 20. 无法在CloudBees中正确部署Play2应用程序
- 21. 与Mina和Foreman正确部署Rails应用程序
- 22. 如何正确部署Akka群集
- 23. 如何正确部署等待句柄
- 24. 如何正确部署jenkins码头?
- 25. 如何检查耳朵是否在weblogic 12c中正确部署?
- 26. 如何确保成功部署应用程序?
- 27. 如何MVN部署部署:从Java应用程序文件
- 28. 如何为ASP.NET MVC应用程序部署ElasticBeanstalk部署
- 29. 部署的应用程序
- 30. 部署到Tomcat 7确定但无法访问应用程序
这将不起作用,因为Tomcat在服务器启动后立即开始监听:8080。我注意到关闭端口(8005)在应用程序启动之前没有启动,所以我可能会使用它。不知道这是否是一个合适的方法。 – pkhamre
您可以使用GET任务(http://goo.gl/vvo6N)。您可以选择一个应用程序页面,甚至可以检查其内容。 GET也有一个超时,所以你可以使用它作为替代或额外的检查waitfor。 Ant-Contrib(http://goo.gl/pty4L)任务集合包含IF任务,这对于ANT中的条件部分非常有用。 –
好的,谢谢。这绝对会有帮助! – pkhamre