我正在尝试在Google云上部署node.js
应用,但出现以下错误。自10月10日以来,我一直遇到此错误。不知道如何解决:
Step #2: ERROR: (gcloud.beta.app.deploy) PERMISSION_DENIED: You do not have permission to act as '[xxxxxxx]@appspot.gserviceaccount.com'
Step #2: - '@type': type.googleapis.com/google.rpc.ResourceInfo
Step #2: description: You do not have permission to act as this service account.
Step #2: resourceName: [xxxxxx]@appspot.gserviceaccount.com
Step #2: resourceType: serviceAccount
Finished Step #2
ERROR
ERROR: build step 2 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1
CloudBuild.yaml
:
steps:
- name: node:10.15.1
entrypoint: npm
args: ['install']
- name: node:10.15.1
entrypoint: npm
args: [ 'run', 'build', '--prod --verbose']
- name: 'gcr.io/cloud-builders/gcloud'
args: ['beta', 'app', 'deploy', '--version=prod', '--no-cache']
timeout: '4800s'
答案 0 :(得分:1)
我相信您应该向我的CI / CD服务帐户授予Service Account User
权限。
您可以使用控制台UI或gcloud命令:
Granting, changing, and revoking access to resources
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}