Google App Engine使用appcfg.sh进行回滚

由于部署失败,我正在尝试进行回滚,我的服务器代码在java上,而且我正在使用App Engine Eclipse PlugIn。 我的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时,我得到“Command not 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进行回滚。 我试过几种不同的方式。 并没有什么好事发生。 也许我错过了什么。 谢谢!

默认情况下它没有执行权限:

 -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 

然后你应该能够在终端中运行它。

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

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

我想我会发布这个,以防有人遇到我所做的同样问题。

对于任何偶然发现并想要更多细节的人来说……

在终端中转到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目录类型中获得“Permission Denied”,请执行@yorkw建议的操作:

chmod 755 appcfg.sh

然后回滚类型

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

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

也许你和我一样做了同样的愚蠢疏忽,一开始就没有留下“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 

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/