我正在尝试使用CI-CD
流程在GCP中部署云功能。我已经写了一个Yaml文件。下面是我的代码:
cloudbuild.yaml
# Deploy Cloud Function
- name: "gcr.io/cloud-builders/gcloud"
id: deploy
dir: "/workspace/API/audit_from_storage"
args:
[
'gcloud', 'functions', 'deploy', 'audit_deployed',
'--set-env-vars', 'BASEURL=${_CP_BASE_URL},BUCKETNAME=${_BUCKETNAME},FUNCTION=${_FUNCTION}',
'--region=us-central1',
'--source=.',
'--trigger-resource=${_BUCKETNAME}',
'--trigger-event=google.storage.object.finalize',
'--runtime=nodejs10',
'--entry-point=collectAudit',
'--service-account=${_SERVICE_ACCOUNT}',
]
下面是日志:
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) Invalid choice: 'gcloud'.
Step #1 - "deploy": Maybe you meant:
Step #1 - "deploy": gcloud functions deploy
Step #1 - "deploy": gcloud run deploy
Step #1 - "deploy": gcloud deployment-manager deployments cancel-preview
Step #1 - "deploy": gcloud deployment-manager deployments create
Step #1 - "deploy": gcloud deployment-manager deployments delete
Step #1 - "deploy": gcloud deployment-manager deployments describe
Step #1 - "deploy": gcloud deployment-manager deployments list
Step #1 - "deploy": gcloud deployment-manager deployments stop
Step #1 - "deploy": gcloud deployment-manager deployments update
Step #1 - "deploy":
Step #1 - "deploy": To search the help text of gcloud commands, run:
Step #1 - "deploy": gcloud help -- SEARCH_TERMS
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 2
请帮助我解决此问题。
下面是从数组列表中删除gcloud
参数之后的脚本:
Edit:
# Deploy Cloud Function
- name: "gcr.io/cloud-builders/gcloud"
id: deploy
dir: "/workspace/API/audit_from_storage"
args:
[
'functions', 'deploy', 'audit_from_storage',
'--set-env-vars', 'BASEURL=${_CP_BASE_URL},BUCKETNAME=${_BUCKETNAME},FUNCTION=${_FUNCTION}',
'--region=us-central1',
'--source=.',
'--trigger-resource=${_BUCKETNAME}',
'--trigger-event=google.storage.object.archive',
'--runtime=nodejs10',
'--entry-point=collectAudit',
'--service-account=${_SERVICE_ACCOUNT}',
]
下面是日志:
Starting Step #1 - "deploy"
Step #1 - "deploy": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1 - "deploy": ERROR: (gcloud.functions.deploy) could not parse resource []
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1
谢谢 英式
答案 0 :(得分:1)
在args数组中不需要gcloud
;这是容器的入口点。
所以,只是:
args: ["functions","deploy",...]