我有一个Appengine连接的android项目(eclipse)。我正在尝试部署它,因为我做了无数次。但是这次我收到了以下错误。
无法更新应用:错误发布到网址: https://appengine.google.com/api/appversion/create?app_id=myappid&version=1& 409 Conflict用户myusername的另一个事务已经存在 app的进度:s~myappid,版本:1。该用户可以撤消 使用“appcfg rollback”进行交易。
有关详细信息,请参阅部署控制台无法更新应用: 发布到网址时出错: https://appengine.google.com/api/appversion/create?app_id=myappid&version=1& 409 Conflict用户myusername的另一个事务已经存在 app的进度:s~myappid,版本:1。该用户可以撤消 使用“appcfg rollback”进行交易。
所以我打开我的osx终端并导航到我项目的文件夹。当我输入
appcfg.py rollback .
我收到终端错误
appcfg.py:错误:目录不包含app.yaml配置 文件
感谢任何指示。
更新
我想我终于找到了它的位置,但现在我在获得许可时被拒绝
/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.9.3/appengine-java-sdk-1.9.3/bin/appcfg.sh rollback war
答案 0 :(得分:1)
由于您使用的是Mac,请尝试
appcfg.sh rollback
答案 1 :(得分:0)
您可能会在appcfg
因此,如果您更改到SDK目录并运行
chmod 755 appcfg.sh
然后
appcfg.sh rollback <path_to_app>/war
应该有效。如果没有,您可能有一个WebContent
目录,在这种情况下使用该路径。从本质上讲,appcfg
希望看到WEB-INF
目录,其中包含您正在回滚的模块的appengine-web.xml
。
答案 2 :(得分:0)
您还可以通过在命令本身中指定您的应用ID和版本来避免指定您的应用目录(因为它看起来不适合您):
appcfg.py rollback -A your_app_id -V your_app_version
如果您有多个模块,那么您还需要使用-M开关指定它。
答案 3 :(得分:0)
在MAC上 - 在终端,转到你的sdk目录 - /Users/user/Desktop/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.9.20/appengine-java-sdk-1.9.20/bin
做
chmod 777 *
运行
bash appcfg.sh rollback / Users / user / Desktop / builder / war
最后一个参数是项目内战争的位置
答案 4 :(得分:0)
我遇到了同样的问题。我在mac上使用这个命令解决了它: python /usr/local/bin/appcfg.py -verbose --no_cookies --email=account@gmail.com --passin rollback directoryname
其中directoryname是app.yaml所在的文件夹。对于我的情况,它是在Dropbox文件夹上。所以我首先使用终端进入该目录然后粘贴:python /usr/local/bin/appcfg.py -verbose --no_cookies --email=account@gmail.com --passin app
其中app定义文件名app.yaml
答案 5 :(得分:0)
这是针对使用应用引擎的java项目 这是您先前部署未成功部署的情况
转到app engine sdk
C:\Program Files (x86)\Google\appengine-java-sdk-1.9.49\bin
然后添加
语法:appcfg.sh回滚项目war文件夹
示例:appcfg.sh rollback E:myproject\war
够!!!
答案 6 :(得分:0)
对于Windows用户,
Syntax: "<appengine sdk bin folder path>\appcfg" rollback "<war path of your project"
Example: "C:\Users\user\.m2\repository\com\google\appengine\appengine-java-
sdk\1.9.44\appengine-java-sdk\appengine-java-sdk-1.9.44\bin\appcfg" rollback "D:\helloworld\war"
以上输出将是这样的,
********************************************************
There is a new version of the SDK available.
-----------
Latest SDK:
Release: 1.9.49
Timestamp: Wed Jan 18 23:03:47 IST 2017
API versions: [1.0]
-----------
Your SDK:
Release: 1.9.44
Timestamp: Sat Aug 20 03:11:38 IST 2016
API versions: [1.0]
-----------
Please visit https://developers.google.com/appengine/downloads for the latest SD
K.
********************************************************
Reading application configuration data...
Beginning interaction for module default...
0% Rolling back the update.
Success.
Cleaning up temporary files for module default...
答案 7 :(得分:0)
仅仅是一个FYI:我在Mac上使用Eclipse java插件(所以否则没有任何地方的SDK),通过挖掘Eclipse包中找到命令文件等,但可以预见的是它没有& #39;运行。所以我刚下载了appengine Java SDK,解压缩它,进入bin,运行./appcfg rollback my / proj命令,如你所见。
保持终端窗口打开,不要关闭它,继续阅读...
它会打开一个Web浏览器,并以非常简单的方式告诉您&#34;复制代码并返回应用程序&#34;。在相当长的一段时间里,我还没有必要回滚部署,但我不记得这一步。无论如何,我不知道这是什么意思,直到我碰巧看到我运行appcfg命令的终端,现在正在等待我粘贴该代码。然后一切都很好。