在上传项目时,网络出现故障,我不得不停止,上传过程仅完成了31%。现在,当我单击将应用程序部署到Google App引擎时,会生成以下消息:
com.google.appengine.tools.admin.HttpIoException: Error posting to URL:
https://appengine.google.com/api/appversion/create?app_id=programworks&version=1&
409 Conflict
Another transaction by user suhailgupta03 is already in progress for app:
s~programworks, version: 1. That user can undo the transaction with
"appcfg rollback".
Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=programworks&version=1&
409 Conflict
Another transaction by user suhailgupta03 is already in progress for app:
s~programworks, version: 1. That user can undo the transaction with "appcfg rollback".
我打开我的shell提示符并输入appcfg rollback
但是我收到一条消息,说明找不到此命令。我已经安装了谷歌应用引擎作为netbeans的插件。
我保留了Google应用引擎广告库的路径:/home/non-admin/appengine-java-sdk-1.6.6/lib/
请告诉我该如何回滚上一个流程?我非常需要上传 war 文件。!
答案 0 :(得分:26)
您想要appcfg.sh rollback
(在path_to_your_app_engine_sdk/bin/
中)。 appcfg
针对每种类型的运行时(Python,Java,Go)提供了不同的变体,因此建议的命令有点通用。
如果出于某种原因,您无法轻松访问项目的整个war目录(例如,如果您的IDE仅提供.war文件),则可以执行以下操作:
war
。WEB-INF
。WEB-INF
中删除两个xml文件,即web.xml
和appengine-web.xml
。这些文件应分别包含已部署的web.xml
和appengine-web.xml
文件的内容。然后运行以下shell命令(假设您从App Engine Java SDK的bin
目录执行它):
[non-admin@user bin]$ ./appcfg.sh rollback /home/non-admin/NetBeansProjects/PersonalSite/web/war
如果您使用的是Go appengine工具,那么您需要运行:
$ cd [your go_appengine directory]
$ ./appcfg.py rollback [your app directory with app.yaml in it]
答案 1 :(得分:18)
如果您使用的是Windows,请按照上面给出的相同步骤在DOS提示符下运行命令..
C:\蚀-JEE-的Helios-的win32 \蚀\插件\ com.google.appengine.eclipse.sdkbund le_1.7.3 \ AppEngine上的Java-SDK-1.7.3 \ BIN> appcfg.cmd 回滚 “C:\ home \ myweb \ war”
答案 2 :(得分:13)
另一个简单的方法如下:
编辑:
回答dg99的问题: 您需要更改的版本代码取决于您(它是您的应用程序的版本)
答案 3 :(得分:2)
这对我有用!! (赢得操作系统)
C:\ eclipse-jee-helios-win32 \ eclipse \ plugins \ com.google.appengine.eclipse.sdkbund le_1.7.3 \ appengine-java-sdk-1.7.3 \ bin> appcfg.cmd回滚C:\ home \ myweb \ war
答案 4 :(得分:2)
如果你正在使用eclipse& maven build envrioment, 也许你是通过maven命令上传应用程序, appengine:update ,对吧?
然后,当你遇到类似的问题" 409 Conflict"。 您可以在eclipse-> project-> run as-> maven build ...->上使用maven命令。 的"应用服务引擎:回滚" 强>
试试这个。我通过这种方式解决了问题
答案 5 :(得分:1)
尝试回滚一段时间后没有任何成功(我被提示用户/通过无休止)我认为这可能是因为我的两个阶段/因素身份验证,
所以以下方式解决了这一切:
在D:\Java\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.8.3\appengine-java-sdk-1.8.3\bin>
中打开命令提示符( cmd.exe )(或在其他地方查找appcfg.cmd
的位置)
输入:appcfg.cmd --oauth2 rollback D:/Java/workspace/my_app/war
然后我的浏览器中提示oauth2令牌,复制并返回到cmd而不是粘贴
就是这样!部署到App Engine再次运行!
答案 6 :(得分:1)
将此用于Android Studio中开发的后端:
cd project_path/project_name/module_name/src/main
appcfg.sh rollback webapp
答案 7 :(得分:1)
对我来说,以下工作正常,我的app.yaml所在的开发目录。
appcfg.py rollback .
我使用的是Python SDK,因为<app-directory>
在<war-location>
被称为{{1}},因此可能与Java不同。
答案 8 :(得分:0)
以下是使用命令提示符在Windows 7中回滚的步骤:
1)首先为python设置环境变量。(以便命令提示符接受命令“python”)。
2)然后键入:“python”give_space“appcfg.py文件的路径”give_space“rollback”give_space“项目路径”。(请注意,您应该在引号中指定路径 )。
答案 9 :(得分:0)
当您使用Maven时,appengine:rollback
命令有效。
即使它是Eclipse Maven项目,它也可以工作。
要在Eclipse Maven中回滚,请遵循以下流程 -
运行 - &gt;构建 - &gt;目标(appengine:rollback) - &gt;申请 - &gt;运行
答案 10 :(得分:0)
可以确认上面澄清的一些答案。
如果使用mvn appengine:update
进行部署,则可以使用mvn appengine:rollback
进行回滚。