我有一個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