2014-09-30 176 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