我在尝试将简单的Play 2.2应用程序部署到CloudBees时遇到间歇性错误。
我的工作流程是:
今天早上我通过这个工作流程遇到了以下问题。
尝试部署我的应用时,此错误今天发生了两次:
% bees app:deploy -a philipmjohnson/surferpedia -t play2 target/universal/surferpedia-1.0-SNAPSHOT.zip
Deploying application philipmjohnson/surferpedia (environment: ): target/universal/surferpedia-1.0-SNAPSHOT.zip
Application parameters: {containerType=play2}
........................uploaded 25%
........................uploaded 50%
........................uploaded 75%
........................upload completed
deploying application to server(s)...
ERROR: Server.InternalError - plugin_setup_error: play2 1 Creating application skeleton at /var/genapp/apps/be2f806a
Copying application files to /var/genapp/apps/be2f806a/app
Installing genapp java agent
Writing configuration to /var/genapp/apps/be2f806a/.genapp/control/config
Using JVM at /opt/java7/bin/java
Invalid play dist - unexpected dir count in /var/genapp/apps/be2f806a/app
如果我再次重新运行bees app:deploy命令,则部署成功。
更令人不安的是,在(显然)成功部署我的Play 2.2应用程序后,使用一分钟后应用程序恢复为Hello World应用程序!
为了“修复”这个问题,我重复了蜜蜂app:deploy。
幸运的是,我为学生创建了一个关于如何将他们的应用程序(称为Surferpedia)部署到CloudBees的截屏视频时遇到了两个问题。您可以通过观看以下8分钟的YouTube视频自行查看这些问题:
http://www.youtube.com/watch?v=UUo9QPqVGeE
一切按计划进行,直到大约5:30进入视频,这些问题才开始显现。
我想知道这是否与我使用Play 2.2有关?如果我能解决这个问题,或者如果这是CloudBees的已知问题,请告诉我。
答案 0 :(得分:1)
看看这个。
首先 - 该错误消息来自此处:https://github.com/cloudweekhec/stack/blob/master/functions#L38
这意味着游戏认为它是一个糟糕的东西 - 但如果你再试一次,那就没关系 - 这很奇怪!你是否正在使用sbt来构建dist?
补救措施的一些步骤:
1)禁用构建作业 - 以防任何事情触发它从源部署 - 如果要直接部署 - 摆脱构建作业(可能会干扰)
2)尝试使用--delta false运行上传 - 这将是一个较慢的上传 - 但将消除任何zip文件混淆。
3)你可以切换到使用sbt插件 - 这可以在短期内为你解决问题(并且仍然保持增量上传):https://github.com/CloudBees-community/sbt-cloudbees-play-plugin(cloudbees-deploy现在是cloudbeesDeploy - 由于sbt 0.13改变)
否则 - 如果我可以访问您的源代码 - 我想尝试这个 - 设置一个反复执行此操作的测试,以便我们可以诊断。
恢复到hello世界可能是构建工作 - 或者它可能会失败并回滚。
好虫狩猎!