2014-09-30 111 views
0

我有構建並部署到tomcat7例如在OpenShiftOpenShift部署,詹金斯失敗

的詹金斯工作

Tomcat7盒從http://cartreflect-claytondev.rhcloud.com/github/worldline/openshift-cartridge-tomcat

.... 
.... 
Starting tomcat cartridge 
Timed out waiting for http listening port 
Error deploying to gear 

的最後一個命令複製的版本是

gear remotedeploy --deployment-datetime $deployment_dir 

所以當這個作業運行時,它總是失敗,但是拖拽服務器日誌顯示部署進行得很順利,應用程序部署成功。在我看來,jenkins的工作在等待tomcat啓動,但是從來沒有收到信號。因此「超時等待HTTP偵聽端口」,作業認爲部署失敗,導致作業失敗。

有什麼我可以做的,以解決這個問題?可能是內部構建腳本?或者讓遠程部署不要期待一個信號?

請指教,謝謝。

更新此票(10/13/2014); 我發現這個失敗的工作和成功的工作之間的控制檯輸出有所不同。下面摘錄總是在成功作業(這是部署到jbossews)和失敗的作業(這是部署到上述墨盒)根本沒有這部分!我認爲這可能是一個重要的區別。見下面的控制檯輸出;

+ hot_deploy_enabled_for_latest_deployment 
++ ruby_sdk latest_deployment_metadata.hot_deploy 
++ oo-ruby -I/usr/lib/openshift/cartridge_sdk -rruby/sdk -e 'include OpenShift::CartridgeSdk; puts latest_deployment_metadata.hot_deploy' 
+ enabled= 
+ '[' '' == true ']' 
+ return 1 

回答

0

它很可能是值得記錄的問題,與誰在這裏建了倉https://github.com/worldline/openshift-cartridge-tomcat的人,或者你可以嘗試使用標準jbossews之一(這是Tomcat)的那openshift報價墨盒。似乎他們爲這個盒式磁帶所做的所有事情都是將所有說「jbossews」的內容重新命名爲「tomcat」。 OpenShift提供了tomcat 6,tomcat7,jboss 7,jboss eap和wildfly盒式磁帶,我相信其中的一個可以同樣工作,並且可以和jenkins一起正常工作。

+0

我試着用jbossews和它的作品沒有任何問題。所以問墨盒製造者似乎是一個好主意。我選擇這個盒式磁帶而不是選擇jbossews的原因是,jbossews的tomcat版本7.0.40錯過了CORS插件,從7.0.41開始CORS插件被嵌入到Tomcat中。 – aug70co 2014-09-30 19:22:08

+0

Jboss AS 7或WildFly有你需要的嗎? – 2014-09-30 19:32:57

+0

我最終使用jbossews-2.0,他們已經將Tomcat升級到v7.54。所以問題就這樣解決了。 – aug70co 2014-11-02 14:09:42