如何将中断的部署回滚到GAE

时间:2011-10-16 20:28:37

标签: google-app-engine playframework

我打断了游戏框架部署到gae

我用

部署了它
play gae:deploy --gae=$GAE_PATH

然后在中间按ctrl-c

现在,当我尝试重新部署它时,我收到以下错误:

Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=playdoces&version=20111007&
409 Conflict
Another transaction by user opensas is already in progress for app: s~playdoces, version: 20111007. That user can undo the transaction with "appcfg rollback".

Please see the logs [/tmp/appcfg1441845586056774629.log] for further information.

我试过

/home/sas/devel/gae/bin/appcfg.sh rollback

但是没有这样的选择

任何想法?


最后,我刚刚创建了另一个版本并将其设置为默认

但我想知道是否有某种方法可以取消之前的部署

4 个答案:

答案 0 :(得分:12)

很简单:

mvn appengine:rollback

答案 1 :(得分:3)

转到应用程序上方的一个目录,然后尝试:

appcfg.sh rollback your_application_directory_name

答案 2 :(得分:2)

进入<play_install>/modules/<gae_module>/bin目录并编辑 commands.py ,使其包含 rollback 命令:

if command == "gae:rollback":
    print '~'
    print '~ Performing Rollback'
    print '~ ---------'

    if os.name == 'nt':
        os.system('%s/bin/appcfg.cmd rollback %s' % (gae_path, war_path))
    else:
        os.system('%s/bin/appcfg.sh rollback %s' % (gae_path, war_path))

    print "~ "
    print "~ Done!"
    print "~ "
    sys.exit(-1)

play gae:rollback --gae=$GAE_PATH一样运行,然后再次运行部署。对我来说也有同样的问题。我将添加一个请求以将其添加到模块中。

答案 3 :(得分:0)

首先下载并安装app engine sdk(如果您还没有)。如果您使用的是Android Studio,则以下命令将执行此操作:

/path-to-appengine-java-sdk/appengine-java-sdk-1.9.28/bin/appcfg.sh rollback /path-to-your-project/backend-module-folder/src/main/webapp/

或者换句话说,您需要做的是将其指向包含“WEB-INF”文件夹的目录。