Google CloudでノードJSアプリを展開しようとしていますが、次のエラーが発生しました -
Step #1: ERROR: (gcloud.app.deploy) Permissions error fetching application [apps
/mytest-240512]. Please make sure you are using the correct project ID and that
you have permission to view applications on the project.
_
私は後続のコマンドを実行しています -
gcloud builds submit . --config cloudbuild.yaml
_
My CloudBuild.yamlファイルは似ています -
steps:
#install
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
#deploy
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
_
アプリエンジンにアプリをデプロイする最も一般的な方法は, gcloud app deploy ...
を使用することです。
App Engine Flexに対してgcloud app deploy
を使用すると、サービスはクラウドビルドを使用します。
それは完全に可能です。クラウドビルドを使用して展開を実行するのは合理的なものです。
私はこれを試してみませんが、クラウドビルドを使用したい場合は、クラウドビルドサービスアカウントにApp Engineに展開する権限があることを確認する必要があります。
2つのコマンドは必要なパーマを処理できます(gcloud sdkがインストールされ、認証されているか、プロジェクトのクラウドシェルで実行されている場合は、端末で実行します)。
export PROJECT_ID=[[put your project id here]]
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
gcloud iam service-accounts add-iam-policy-binding ${PROJECT_ID}@appspot.gserviceaccount.com \
--member=serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com \
--role=roles/iam.serviceAccountUser \
--project=${PROJECT_ID}
```
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member=serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com \
--role=roles/appengine.appAdmin
_
私は今日もこの同じエラーを持っていました、そして私がそれを解決する方法は実行されました:__(somecode)コンソール上の_$ gcloud auth login
_。
これにより、デプロイしようとしているプロジェクトにアクセスできる資格情報でログインするための新しいブラウザタブが開きます。
その後Gcloudに展開することができました。
pS:これが最善のアプローチであるかどうかわからないが、私はこれが私が通常この問題を回避する方法として起こり得る解決策としてこれを残しています。最悪の場合、私は是正し、何か新しいものを学ぶよ。