【问题标题】:Google App Engine Make a rollback with appcfg.shGoogle App Engine 使用 appcfg.sh 进行回滚
【发布时间】:2013-02-26 21:31:14
【问题描述】:

由于部署失败,我正在尝试回滚,我的服务器代码在 java 上,而且我正在使用 App Engine Eclipse 插件。我的 appcfg.sh 文件位于 /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh


但是当我尝试这个sudo /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh rollback /Documents/workspace/server_side/war时我得到“找不到命令”

我不知道出了什么问题。我不知道是否是正确的 appcfg,因为有 appcfg.cmd 和 appcfg.sh,我使用的是 imac(Unix enviro)所以我使用 appcfg.sh 进行回滚。我尝试了几种不同的方式。并没有什么好事发生。也许我错过了一些东西。 谢谢!

【问题讨论】:

  • 不带任何参数运行/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh 会发生什么?
  • 没什么,只是说找不到命令。像这样sudo: /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh: command not found

标签: java google-app-engine


【解决方案1】:

默认没有执行权限:

-rw-r--r--  1 yorkw  staff   558 11 Dec 06:01 appcfg.sh

运行chmod 755 appcfg.sh更改权限:

-rwxr-xr-x  1 yorkw  staff   558 11 Dec 06:01 appcfg.sh

那么你应该可以在终端中运行它了。

【讨论】:

  • 嗨@yorkw,我输入了chmod 755 appcfg.sh,问题仍然存在。当我尝试回滚时,它显示-bash: appcfg: command not found
  • 输入cd /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/,然后输入chmod 755 appcfg.sh
  • 这是输出:total 64 -rw-r--r-- 1 useami03 staff 286 Feb 5 12:18 appcfg.cmd -rwxr-xr-x 1 useami03 staff 558 Feb 5 12:18 appcfg.sh -rw-r--r-- 1 useami03 staff 368 Feb 5 12:18 dev_appserver.cmd -rw-r--r-- 1 useami03 staff 636 Feb 5 12:18 dev_appserver.sh -rw-r--r-- 1 useami03 staff 940 Feb 5 12:18 endpoints.cmd -rw-r--r-- 1 useami03 staff 1100 Feb 5 12:18 endpoints.sh -rw-r--r-- 1 useami03 staff 196 Feb 5 12:18 google_sql.cmd -rw-r--r-- 1 useami03 staff 479 Feb 5 12:18 google_sql.sh
  • @AlexSanchez,如果您在该目录中,请尝试./appcfg.sh
  • 您还需要提升 run_java.sh 的权限。执行 'chmod +x run_java.sh'
【解决方案2】:

我也遇到了与这个问题的原始发帖人相同的问题,但是在尝试回滚时,即使更改了 appcfg.sh 文件的权限,我仍然遇到权限被拒绝的错误。

原来我还需要 chmod 755 run_java.sh(与 appcfg.sh 位于同一目录中),然后我能够毫无问题地回滚。

我想我会发布这个,以防有人遇到与我相同的问题。

【讨论】:

    【解决方案3】:

    对于任何偶然发现这一点并想要更多细节的人......

    例如,在终端中转到 GAE-SDK-PATH/bin(appcfg.sh 所在的位置):

    /Applications/Eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.8.3/appengine-java-sdk-1.8.3/bin

    您可能没有启用 appcfg.sh 的权限,所以如果您在 bin 目录类型中收到“权限被拒绝”,请执行 @yorkw 的建议:

    chmod 755 appcfg.sh

    然后回滚类型

    ./appcfg.sh --email=PROJECT_EMAIL --passin rollback ROOT_PROJECT_FOLDER/war

    系统将提示您输入项目电子邮件的密码,然后它应该可以工作了! 谷歌文档:https://developers.google.com/appengine/docs/java/tools/uploadinganapp

    【讨论】:

      【解决方案4】:

      也许你做了和我一样愚蠢的疏忽,一开始就省略了“sh”? 即

      sh /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh rollback /Documents/workspace/server_side/war
      

      【讨论】:

        【解决方案5】:

        OSX 上使用以下命令。注意appcfg.sh 默认没有执行权限,所以需要通过chmod添加。

        cd /Users/Labuser/Downloads/appengine-java-sdk-1.9.22/bin
        
        chmod 755 appcfg.sh
        
        sh appcfg.sh rollback /Users/Labuser/Ducuments/AndroidWS/AndroidStudioProjects/AndroidProject/modulebackend/src/main/webapp/
        

        【讨论】:

          猜你喜欢
          • 2015-04-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-20
          • 2011-07-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多