Как откатить развертывание ядра приложения

У меня есть проект Android, связанный с Appengine (затмение). Я пытаюсь развернуть его, как я делал бесчисленное количество раз. Но на этот раз я получаю следующую ошибку.

Невозможно обновить приложение: ошибка при публикации по URL-адресу: https://appengine.google.com/api/appversion/create?app_id=myappid&version=1& 409 Конфликт Другая транзакция пользователя myusername уже выполняется для приложения: s~myappid, версия: 1. Этот пользователь может отменить транзакцию с помощью «отката appcfg». ".

Дополнительные сведения см. в консоли развертывания. Невозможно обновить приложение: ошибка публикации по URL-адресу: https://appengine.google.com/api/appversion/create?app_id=myappid&version=1& 409 Конфликт Другая транзакция пользователя myusername уже выполняется для приложения: s~myappid, версия: 1. Этот пользователь может отменить транзакцию с помощью «отката appcfg».

Итак, я открываю свой терминал 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

person Katedral Pillon    schedule 27.09.2014    source источник
comment
прочитайте сообщение об ошибке, вам нужно запустить его из каталога, куда вы положили файл app.yaml   -  person marcadian    schedule 27.09.2014
comment
@marcadian, когда я разрабатываю Python, у меня есть app.yaml. Но я никогда не вижу его в своем каталоге проектов Java. Вот с чем мне нужна помощь. Я просматриваю весь проект Java, и такого нет. Опять же, это конечный проект: Android-проект, связанный с App-engine. И затмение дает мне ошибку. Возможно, есть решение для затмения?   -  person Katedral Pillon    schedule 27.09.2014
comment
См. этот ответ. Это сэкономит вам много времени.   -  person rajatgoyal715    schedule 12.09.2017
comment
См. этот ответ. Это сэкономит вам много времени.   -  person rajatgoyal715    schedule 12.09.2017


Ответы (8)


Поскольку вы используете Mac, попробуйте

appcfg.sh rollback
person Andrei Volgin    schedule 27.09.2014
comment
Документация App Engine для Java предлагает appcfg.sh, поэтому я бы попробовал это в первую очередь. Я использую эту команду уже несколько лет без проблем. - person Andrei Volgin; 27.09.2014
comment
о, понял, я думал, что команда обновления одинакова для любого языка :P - person marcadian; 27.09.2014
comment
@AndreiVolgin я получаю сообщение: bash: appcfg.sh command not found, я делаю это в Терминале Android Studio. - person Shajeel Afzal; 17.06.2015
comment
@ShajeelAfzal - вы должны находиться в правильном каталоге или указать полный путь. - person Andrei Volgin; 17.06.2015

Вы также можете избежать необходимости указывать каталог вашего приложения (поскольку он не работает для вас), указав идентификатор и версию вашего приложения в самой команде:

appcfg.py rollback -A your_app_id -V your_app_version

Если у вас есть несколько модулей, вам также нужно будет указать это с помощью переключателя -M.

person IanGSY    schedule 27.09.2014
comment
Это единственное, что дает мне распечатку не command not found. Но это тот, который жалуется на то, что app.yaml не найден. Но тогда он также показывает Usage: appcfg.py [options] rollback <directory> | <file>. Какие есть варианты отката? Я не вижу их по адресу cloud.google.com/appengine/docs/ python/tools/uploadinganapp - person Katedral Pillon; 28.09.2014

Вероятно, вы обнаружите, что у вас нет разрешений на выполнение на appcfg

Итак, если вы перейдете в каталог SDK и запустите

chmod 755 appcfg.sh

потом

appcfg.sh rollback <path_to_app>/war

должно сработать. Если нет, у вас может быть каталог WebContent, и в этом случае используйте путь к нему. По сути, appcfg хочет видеть каталог WEB-INF, который содержит ваш appengine-web.xml для модуля, который вы откатываете.

person tx802    schedule 27.09.2014

На MAC — в терминале перейдите в каталог SDK — /Users/user/Desktop/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.9.20/appengine-java-sdk-1.9. 20/бин

do

чмод 777 *

бегать

Откат bash appcfg.sh /Users/пользователь/Desktop/builder/war

Последний параметр — расположение войны внутри вашего проекта.

person Elia Weiss    schedule 26.09.2015

У меня такая же проблема. Я решил это с помощью этой команды на Mac: python /usr/local/bin/appcfg.py -verbose --no_cookies [email protected] --passin имя каталога отката

где имя_каталога — это папка, в которой находится app.yaml. В моем случае это была папка Dropbox. поэтому сначала я зашел в этот каталог с помощью терминала, а затем вставил: python /usr/local/bin/appcfg.py -verbose --no_cookies [email protected] --passin app

где приложение определяет имя файла app.yaml

person Ruhul Amin    schedule 12.01.2016

Это для проекта Java, использующего движок приложения Это связано с тем, что ваше предыдущее развертывание не было успешно развернуто


перейти к движку приложения SDK

C:\Program Files (x86)\Google\appengine-java-sdk-1.9.49\bin

затем добавьте

синтаксис: appcfg.sh откатывает вашу военную папку проекта

Пример: appcfg.sh rollback E:myproject\war

Достаточно!!!

person manoz    schedule 21.02.2017
comment
Пожалуйста, не размещайте текст в виде изображений. Вместо этого скопируйте-вставьте и отформатируйте его соответствующим образом. - person Dan Cornilescu; 21.02.2017

Для пользователя 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...
person imbond    schedule 23.02.2017

Просто к вашему сведению: я использовал java-плагин Eclipse на Mac (поэтому нигде не было SDK), нашел командный файл, копаясь в пакете Eclipse и т. Д., Но, как и ожидалось, он не работал. Итак, я только что скачал appengine Java SDK, разархивировал его, зашел в корзину, запустил команду ./appcfg rollback my/proj, как вы видите здесь.

Оставьте это окно терминала открытым, не закрывайте его, читайте дальше...

Он открывает веб-браузер и очень простым способом говорит вам «скопировать код и вернуться в приложение». Мне уже давно не приходилось откатывать развертывание, но я не помню этого шага. В любом случае, я понятия не имел, что это значит, пока случайно не посмотрел на терминал, где я запустил команду appcfg, которая теперь ждала, пока я вставлю этот код. Тогда все было хорошо.

person Tim Consolazio    schedule 28.02.2017