LoginSignup
10
6

More than 5 years have passed since last update.

Google App Engineでデプロイ中に切断せざるを得なくなった後の問題を解消する方法

Posted at

普段Google App Engineを使っている人には当然なのかもしれないけど、今回ハマったので、メモ代わりに投稿。ちなみに使っていたのはGoogle App Engine for Goです。

デプロイ作業中に中断したとき

マシンが固まりそうだったので、「よろしくないな」と思いつつ、デプロイ作業を中断した結果の画面が以下。

$ goapp deploy -oauth

09:22 PM Application: takuan-osho; version: 1
09:22 PM Host: appengine.google.com
09:22 PM 
Starting update of app: takuan-osho, version: 1
09:22 PM Getting current resource limits.
09:22 PM Scanning files on local disk.
09:22 PM Cloning 14 static files.
09:22 PM Cloning 90 application files.
^Cgoapp: caught SIGINT, waiting for appcfg.py to shut down
09:22 PM Interrupted.
error while running appcfg.py: exit status 1

はい、中断されました。

再度アップロードし直そうとして失敗

で、もう一回デプロイし直そうとしたら、以下。

$ goapp deploy -oauth
09:22 PM Application: takuan-osho; version: 1
09:22 PM Host: appengine.google.com
09:22 PM 
Starting update of app: takuan-osho, version: 1
09:22 PM Getting current resource limits.
09:22 PM Scanning files on local disk.
Error 409: --- begin server output ---
Another transaction by user shimizu.taku is already in progress for app: s~takuan-osho, version: 1. That user can undo the transaction with "appcfg rollback".
--- end server output ---
error while running appcfg.py: exit status 1

appcfg rollbackしてやり直せ、タコ!というエラーが出たので、それに従いましょう。そう思い、やろうとしたら、appcfgなんて無いよー!という事態に。

実は単純なことだった

最初に書いていたように使っていたのはGoogle App Engine for Goなのですが、Google App Engine SDK for Goに含まれているのはappcfgじゃなくてappcfg.pyでした。

なので以下のような使い方で同じように使えます。のところはapp.yamlとかGoogle App Engineの設定ファイルが置いてあるディレクトリを指定すれば良いはずです。

appcfg.py [options] rollback <directory> | <file>

記憶が確かなら、appcfgなのはPythonの方のSDKで、Google App Engine SDK for Goの内部ではPython使っていてエラーメッセージがPythonの方と共通だから少し齟齬が発生していたのかな?と予想します。

で、以下のようにして無事ロールバックできて、デプロイもちゃんと出来るようになりました。

$ appcfg.py --oauth2 rollback .
09:22 PM Application: takuan-osho
09:22 PM Host: appengine.google.com
09:22 PM Rolling back the update.

めでたしめでたし。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6