web-dev-qa-db-ja.com

コマンド「appcfgrollback」を実行するにはどうすればよいですか?

プロジェクトのアップロード中にネットワーク障害が発生し、アップロードプロセスが31%しか完了しなかったため、停止する必要がありました。クリックしてアプリケーションをGoogleApp Engineにデプロイすると、次のメッセージが表示されます。

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".

シェルプロンプトを開き、そこに入力しますappcfg rollbackしかし、このコマンドが見つからないというメッセージが表示されます。netbeansのプラグインとしてGoogle AppEngineをインストールしました。

私がグーグルアプリエンジンの瓶を保管してきた道:/home/non-admin/appengine-Java-sdk-1.6.6/lib/

前のプロセスをロールバックするにはどうすればよいですか? warファイルをアップロードする必要があります。

17
Suhail Gupta

appcfg.sh rollbackpath_to_your_app_engine_sdk/bin/にあります)が必要です。 appcfgは、ランタイムのタイプ(Python、Java、Go)ごとに異なるバリアントで提供されるため、推奨されるコマンドは少し一般的です。

何らかの理由で、プロジェクトのwarディレクトリ全体に簡単にアクセスできない場合(たとえば、IDEは.warファイルしか提供しない場合)、次のことを実行できます。以下:

  1. warという名前のディレクトリを作成します。
  2. warフォルダー内に別のディレクトリを作成し、WEB-INFという名前を付けます。
  3. フォルダーWEB-INFに、2つのxmlファイル(web.xmlappengine-web.xml)をドロップします。これらには、デプロイされたweb.xmlファイルとappengine-web.xmlファイルの内容がそれぞれ含まれている必要があります。

次に、次のシェルコマンドを実行します(これは、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]
26
Dan Holevoet

Windowsを使用している場合は、上記と同じ手順に従って、DOSプロンプトでコマンドを実行します。

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"

18
Knowledge Serve

別の簡単な方法を以下に示します。

  1. app.yamlのバージョン番号を変更するには...
  2. 次に、新しいバージョンを展開します。
  3. そして最後にグーグルアプリエンジンのウェブフォームを介して古いバージョンを削除します

編集:

dg99の質問に答えるには:変更する必要のあるバージョンコードはあなた次第です(それはあなたのアプリケーションのバージョンです)

13
Tino

EclipseとMavenビルド環境を使用している場合は、mavenコマンドでアプリケーションをアップロードしている可能性がありますappengine:update、そうですか?

そして、そのような「409コンフリクト」のような問題が発生したとき。 Eclipseでmavenコマンドを使用できます-> project-> run as-> maven build ...-> "appengine:rollback"

これを試して。このようにして問題を解決しました

2
sbahn

これは私のために働きます! (Win OS)

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 \戦争

2
danipenaperez

私にとって、app.yamlが置かれている開発ディレクトリから次のことがうまくいきました。

appcfg.py rollback .

Python SDKを使用していますが、<app-directory><war-location>と呼ばれているため、Javaでは異なる場合があります。

1
arnoud

しばらくロールバックを試みても成功しませんでした(ユーザー/パスを際限なく求められました)2つのフェーズ/ファクター認証が原因である可能性があると思いました。

したがって、次の方法ですべてを解決しました。

  1. D:\Java\Eclipse\plugins\com.google.appengine.Eclipse.sdkbundle_1.8.3\appengine-Java-sdk-1.8.3\bin>でコマンドプロンプト(cmd.exe)を開きます(またはappcfg.cmdの場所を別の場所で探します)

  2. 次のように入力します:appcfg.cmd --oauth2 rollback D:/Java/workspace/my_app/war

  3. 次に、ブラウザでoauth2トークンの入力を求められ、コピーして、貼り付けるよりもcmdに戻りました。

  4. それでおしまい! App Engineへのデプロイが再び機能します!

1
Daniel

Android Studio:で開発されたバックエンドにこれを使用します

cd project_path/project_name/module_name/src/main
appcfg.sh rollback webapp
1
Jim Vitek

コマンドプロンプトを使用してWindows7でロールバックするために従うべき手順は次のとおりです。

1)最初にpythonの環境変数を設定します(コマンド「python」がコマンドPromptによって受け入れられるようにします)。

2)次に、「python」give_space「appcfg.pyファイルへのパス」give_space「rollback」give_space「プロジェクトへのパス」と入力します。(パスは引用符で囲んで指定する必要があります)。

0
user3164813

Mavenを使用している場合は、appengine:rollbackコマンドは機能します。これは、EclipseMavenプロジェクトの場合でも機能します。

Eclipse Mavenでロールバックするには、次のプロセスに従います-

実行->ビルド->目標(appengine:rollback)->適用->実行

0
A.G

上記で明らかにされた答えのいくつかとして確認することができます。

mvn appengine:updateを使用してデプロイする場合は、mvn appengine:rollbackを使用してロールバックを実行できます。

0