基本上,我正在尝试使用cloudbuild.yaml文件部署云功能:
Cloudbuild.yaml
steps:
- name: 'node:10.10.0'
id: installing_npm
args: ['npm', 'install']
dir: 'API/groups'
- name: 'gcr.io/cloud-builders/gcloud'
id: deploy
args: [
'functions', 'deploy', 'groups',
'--region=us-central1',
'--source=https://source.cloud.google.com/$PROJECT_ID/bitbucket_zebraema_/+/LCM-97_groups_API_test:API/groups',
'--trigger-http',
'--runtime=nodejs8',
'--entry-point=App',
'--allow-unauthenticated',
'--service-account=xaxaxax@appspot.gserviceaccount.com'
]
dir: 'API/groups'
以下是错误:
Step #0 - "installing_npm": npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
Step #0 - "installing_npm":
Step #0 - "installing_npm": added 448 packages from 284 contributors and audited 449 packages in 9.697s
Step #0 - "installing_npm": found 5 low severity vulnerabilities
Step #0 - "installing_npm": run `npm audit fix` to fix them, or `npm audit` for details
Finished Step #0 - "installing_npm"
Starting Step #1 - "deploy"
Step #1 - "deploy": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1 - "deploy": ERROR: (gcloud.functions.deploy) ResponseError: status=[403], code=[Forbidden], message=[Permission 'cloudfunctions.functions.get' denied on resource 'projects/xxxxxxxxxxxxxxxx/locations/us-central1/functions/groups' (or resource may not exist).]
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1
编辑: 我已将云功能开发人员,云功能管理员,云功能服务代理和服务帐户用户角色添加到我的云构建服务帐户中。
Cloudbuild.yaml
steps:
- name: 'node:10.10.0'
id: installing_npm
args: ['npm', 'install']
dir: 'API/groups'
- name: 'gcr.io/cloud-builders/gcloud'
id: deploy
args: [
'functions', 'deploy', 'groups',
'--region=us-central1',
'--source=https://source.cloud.google.com/$PROJECT_ID/bitbucket_zebraema_/+/LCM-97_groups_API_test:API/groups',
'--trigger-http',
'--runtime=nodejs8',
'--entry-point=App',
'--allow-unauthenticated',
'--service-account=$PROJECT_ID@cloudbuild.gserviceaccount.com'
]
dir: 'API/groups'
以下日志:
Step #0 - "installing_npm": run `npm audit fix` to fix them, or `npm audit` for details
Finished Step #0 - "installing_npm"
Starting Step #1 - "deploy"
Step #1 - "deploy": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1 - "deploy": ERROR: (gcloud.functions.deploy) ResponseError: status=[400], code=[Bad Request], message=[The request has errors
Step #1 - "deploy": Problems:
Step #1 - "deploy": source_repository_url:
Step #1 - "deploy": Source repository URL is invalid https://source.cloud.google.com/xyxyxyxyx/bitbucket_zebraema/LCM-97_groups_API_test/API/groups/src does not match the expected pattern, which is https://source.developers.google.com/projects/{PROJECT_ID}/repos/{REPOSITORY_ID}/revisions/{REVISION_ID}/paths/{PATH} or https://source.developers.google.com/projects/{PROJECT_ID}/repos/{REPOSITORY_ID}/moveable-aliases/{BRANCH_ID}/paths/{PATH} or https://source.developers.google.com/projects/{PROJECT_ID}/repos/{REPOSITORY_ID}/fixed-aliases/{TAG_ID}/paths/{PATH}. Note that PROJECT_ID, REPOSITORY_ID, REVISION_ID, BRANCH_ID, and TAG_ID can not contain '/'. PATH may contain '/'.
Step #1 - "deploy": ]
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1
在这里,我已将bitbucket
存储库镜像到我的google cloud source repository
中。写source_repository_url
的正确方法是什么?
答案 0 :(得分:1)
最可能的原因是未为 Cloud Functions Developer
服务启用 Cloud Build
角色。
答案 1 :(得分:0)
根据错误消息Permission 'cloudfunctions.functions.get' denied
。
也许您可以尝试将此权限授予cloudbuild默认服务帐户。
cloudbuild默认服务帐户看起来像YOUR_PROJECT_NUMBER@cloudbuild.gserviceaccount.com
答案 2 :(得分:0)
似乎您需要将“项目编辑器”角色授予您的服务帐户。