17

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

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のプラグインとしてGoogleAppEngineをインストールしました。

私がグーグルアプリエンジンのjarファイルを保持しているパス:/home/non-admin/appengine-java-sdk-1.6.6/lib/

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

4

11 に答える 11

26

あなたが欲しいappcfg.sh rollback(これは にありpath_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.xmlweb.xmlappengine-web.xml

bin次に、次のシェル コマンドを実行します (これは、App Engine Java SDKのディレクトリから実行することを前提としています)。

[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]
于 2012-07-26T18:28:32.270 に答える
18

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

于 2013-01-16T08:58:08.447 に答える
13

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

  1. app.yaml のバージョン番号を変更するには...
  2. 次に、新しいバージョンをデプロイし、
  3. 最後に、Google App Engine の Web フォームから古いバージョンを削除します

編集:

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

于 2014-01-17T16:46:48.417 に答える
2

これは私のために働きます!! (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 \戦争

于 2013-02-15T13:55:57.023 に答える
1

成功せずにしばらくロールバックを試みた後 (ユーザー/パスのプロンプトが際限なく表示されました)、2 フェーズ/要素認証が原因である可能性があると考えました。

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

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

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

  3. 次に、ブラウザで oauth2 トークンのプロンプトが表示され、コピーして貼り付けよりも cmd に戻りました

  4. それでおしまい!App Engine へのデプロイが再び機能するようになりました。

于 2013-11-19T21:32:00.473 に答える
1

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

cd project_path/project_name/module_name/src/main
appcfg.sh rollback webapp
于 2015-01-15T17:45:27.783 に答える
1

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

appcfg.py rollback .

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

于 2015-02-24T10:52:15.157 に答える
0

上記で明確にした回答の一部として確認できます。

mvn appengine:update展開に使用する場合mvn appengine:rollbackは、ロールバックに使用できます。

于 2016-09-13T11:48:25.997 に答える
0

コマンド プロンプトを使用して Windows 7 でロールバックするための手順は次のとおりです。

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

2) 次に、次のように入力します: "python" give_space "appcfg.py ファイルへのパス" give_space "rollback" give_space "プロジェクトへのパス".(逆コンマでパスを指定する必要があることに注意してください)。

于 2014-06-01T14:56:15.503 に答える
0

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

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

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

于 2016-05-11T17:38:12.457 に答える