Google App Engine回滚失败 - 无法下载应用程序的源代码,以便运行回滚 - 没有本地WAR可用

时间:2016-07-14 09:04:25

标签: java maven google-app-engine jenkins transactions

我正在尝试修复谷歌应用引擎的问题

开发团队运行Jenkins将我们的部署部署到Google App Engine中。出于某种原因,两个作业同时运行,并且都尝试部署到同一个项目中。 (我认为,仍在努力) - 这导致了错误

com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=APP-ID&version=CURRENT-VERSION&
     [java] 409 Conflict
     [java] Another transaction by user SERVICEACCOUNT is already in progress for app: s~APP-ID, version: CURRENT-VERSION. That user can undo the transaction with "appcfg rollback".

事实证明我需要回滚部署 - 好吧,很酷。

为什么在Blue Hell中我需要源代码进行回滚!?!?谷歌?怎么了?

从文档中我可以看到,为了执行此回滚,需要原始WAR。这个我没有,所以我需要源代码,我可以从谷歌

appcfg --download

此步骤仅达到70%然后失败。

79% [6080/7641] __static__/static/blah/blah/blah/bundle.js
79% [6081/7641] __static__/static/yada/yada/yada/_all.js
79% [6082/7641] __static__/static/images/mapicons/awesome.png
Jul 13, 2016 5:56:57 PM com.google.appengine.tools.admin.AbstractServerConnection send1
WARNING: Error posting to URL: https://appengine.google.com/api/files/get?id=9999&app_id=APP-ID&version=master.394126950949921946&
401 Unauthorized
Invalid OAuth token
This is try #0

我现在如何阻止项目,我不能再部署到 - 建议??

1 个答案:

答案 0 :(得分:0)

您可以使用appengine_sdk / bin目录中的appcfg工具来回滚部署。您需要具有足够的权限才能执行回滚。

appcfg --application=APP_ID --module=MODULE --version=VERSION rollback .

请参阅https://cloud.google.com/appengine/docs/java/tools/appcfg-arguments

您需要在路径上添加./WEB-INF/appengine-web.xml。

或者您可以将./WEB-INF/appengine-web.xml与以下内容放在一起:

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>APP_ID</application>
    <version>MODULE</version>
    <module>VERSION</module>
    <threadsafe>true</threadsafe>
</appengine-web-app>

然后你的命令看起来像:

appcfg rollback .