使用Jenkins的OpenShift部署失败

使用Jenkins的OpenShift部署失败,jenkins,openshift,Jenkins,Openshift,我有一份jenkins的工作,在OpenShift上构建并部署到tomcat7实例 Tomcat7盒带是从 构建中的最后一个命令是 gear remotedeploy --deployment-datetime $deployment_dir 所以,当这个作业运行时,它总是失败,但是跟踪服务器日志表明部署进展顺利,应用程序部署成功。在我看来,詹金斯的工作似乎在等待tomcat启动,但从未收到任何信号。所以“等待http侦听端口超时”,作业认为部署失败,所以作业失败 我能做些什么来解决这个问题吗

我有一份jenkins的工作,在OpenShift上构建并部署到tomcat7实例

Tomcat7盒带是从

构建中的最后一个命令是

gear remotedeploy --deployment-datetime $deployment_dir
所以,当这个作业运行时,它总是失败,但是跟踪服务器日志表明部署进展顺利,应用程序部署成功。在我看来,詹金斯的工作似乎在等待tomcat启动,但从未收到任何信号。所以“等待http侦听端口超时”,作业认为部署失败,所以作业失败

我能做些什么来解决这个问题吗?可能在构建脚本中?或者让远程部署不需要信号

请告知,谢谢

更新此票据(2014年10月13日); 我在控制台输出中看到了这个失败的作业和成功的作业之间的差异。下面的摘录总是在成功的作业(部署到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

可能值得在这里向制作盒带的人员记录一个问题,或者您可以尝试使用openshift提供的一个标准jbossews(即tomcat)盒带。似乎他们为这个盒式磁带所做的只是将所有写着“jbossews”的内容重命名为“tomcat”。OpenShift提供tomcat 6、tomcat7、jboss as 7、jboss eap和wildfly盒式磁带,我相信其中一种同样适用,也能正确地与jenkins配合使用。

您可以尝试worldline-OpenShift-origin-release-4,它可能会解决您的问题:

我使用jbossews进行了尝试,它可以正常工作。因此,询问墨盒创建者似乎是个好主意。我选择这个盒带而不选择jbossews的原因是,jbossews有tomcat版本7.0.40,从7.0.41开始,它没有CORS插件。CORS插件嵌入到tomcat中。Jboss AS 7或WildFly有你需要的吗?我最终使用了jbossews-2.0,他们在其中将tomcat升级到了v7.54。所以问题就这样解决了。你能看看我最新的更新吗?底部标记为2014年10月13日。这可能就是为什么这个盒带会失败,因为它没有执行那个部分?只是一个想法。。。
+ 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