在CloudBees上部署简单的Play 2.2应用程序会出现间歇性错误

时间:2013-10-17 22:34:59

标签: playframework-2.0 cloudbees

我在尝试将简单的Play 2.2应用程序部署到CloudBees时遇到间歇性错误。

我的工作流程是:

  1. 使用ClickStart创建“Hello World”Play 2应用程序。
  2. 使用bees app:deploy来覆盖我的实际Play 2.2应用程序的Hello World应用程序。
  3. 今天早上我通过这个工作流程遇到了以下问题。

    1。部署错误

    尝试部署我的应用时,此错误今天发生了两次:

    % 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命令,则部署成功。

    2。正在运行的应用程序将恢复为Hello World

    更令人不安的是,在(显然)成功部署我的Play 2.2应用程序后,使用一分钟后应用程序恢复为Hello World应用程序!

    为了“修复”这个问题,我重复了蜜蜂app:deploy。

    说明问题的截屏视频

    幸运的是,我为学生创建了一个关于如何将他们的应用程序(称为Surferpedia)部署到CloudBees的截屏视频时遇到了两个问题。您可以通过观看以下8分钟的YouTube视频自行查看这些问题:

    http://www.youtube.com/watch?v=UUo9QPqVGeE

    一切按计划进行,直到大约5:30进入视频,这些问题才开始显现。

    我想知道这是否与我使用Play 2.2有关?如果我能解决这个问题,或者如果这是CloudBees的已知问题,请告诉我。

1 个答案:

答案 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世界可能是构建工作 - 或者它可能会失败并回滚。

好虫狩猎!