質問編集履歴

1 文法修正

kaoru3151

kaoru3151 score 50

2017/05/25 09:27  投稿

gcloud app deploy でのエラー対処方法
###前提・実現したいこと
下記コマンドでデプロイしたいのですが、エラーがでて、対処方法が知りたいです。  
```
gcloud app deploy app.yaml
```
 コマンド実行時にエラーメッセージが発生しました。  
###発生している問題・エラーメッセージ
```
WARNING: Could not acquire lock C:\Users\PA13940\AppData\Roaming\gcloud\credentials.lock in 0 seconds
WARNING: The credentials file (C:\Users\PA13940\AppData\Roaming\gcloud\credentials) is not writable. Opening in read-onl
WARNING: Could not acquire lock C:\Users\ooo\AppData\Roaming\gcloud\credentials.lock in 0 seconds
WARNING: The credentials file (C:\Users\ooo\AppData\Roaming\gcloud\credentials) is not writable. Opening in read-onl
y mode. Any refreshed credentials will only be valid for this run.
WARNING: Could not acquire lock C:\Users\○○○\AppData\Roaming\gcloud\credentials.lock in 0 seconds
WARNING: The credentials file (C:\Users\○○○\AppData\Roaming\gcloud\credentials) is not writable. Opening in read-only mode. Any refreshed credentials will only be valid for this run.
WARNING: Could not acquire lock C:\Users\ooo\AppData\Roaming\gcloud\credentials.lock in 0 seconds
WARNING: The credentials file (C:\Users\ooo\AppData\Roaming\gcloud\credentials) is not writable. Opening in read-only mode. Any refreshed credentials will only be valid for this run.
ERROR: (gcloud.app.deploy) Your current active account [○○○-○○○@○○○.co.jp] does not have any valid credentials
Please run:
 $ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
 $ gcloud config set account ACCOUNT
```
###試したこと
C:\Users\○○○\AppData\Roaming\gcloud\credentials.lockで検索すると
https://developers.google.com/identity/protocols/application-default-credentialsのドキュメントにたどり着き、
環境変数GOOGLE_APPLICATION_CREDENTIALSを設定しないといけない
API Managerの認証情報でサービスアカウントキーを作成
現在のアクティブなアカウントでは有効な資格情報がないとのことなので、
```
gcloud auth login
```
を試して、もう一度デプロイコマンドを実行しましたが、同じエラーがでました。
次に、Projectにサービスアカウントを作成しようと
[Google Application Default Credentials](http://developers.google.com/identity/protocols/application-default-credentials)のドキュメントにたどり着き、
環境変数GOOGLE_APPLICATION_CREDENTIALSを設定をしました。
API Managerの認証情報でサービスアカウントキーを作成して、
JSONファイルが生成されて、ダウンロードフォルダーに保存されるから、
任意の場所に置いて、環境変数GOOGLE_APPLICATION_CREDENTIALSのパスにする
しかしこれだはだめっだった。。。
任意の場所に置いて、環境変数GOOGLE_APPLICATION_CREDENTIALSのパスに設定しました。
そして下記のコマンドでサービスアカウントをセットして、もう一度デプロイしましたがまたできませんでした。
```
gcloud config set account ooooo
```
もう一つはそのロックファイル削除したらいいみたいな記事があったのでファイルに何か書いてあるとかではなかったので
C:\Users\○○○\AppData\Roaming\gcloud\credentials.lockのファイルを削除した
うまく行った。。。
他には、C:\Users\ooo\AppData\Roaming\gcloud\credentials.lock削除したらいいみたいな記事が
あったのでファイルに何か書いてあるとかではなかったので、そのファイルを削除したらうまくいきました。
###補足情報
本当にこのやり方でいいのか不安になりましたのでわかる方教えてください!
ただ、本当にこのやり方でいいのか不安になりましたのでわかる方教えてください!
  • Go

    1082 questions

    Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

  • Google App Engine

    182 questions

    Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る