如何在CircleCI的GCP Cloud Run Orb中添加多个参数?
问题解决方法
你的部署标记不生效主要是因为配置里存在几处格式错误:
1. YAML缩进异常
build_and_deploy任务下的setup_remote_docker、gcp-gcr/build-image等步骤未正确缩进在steps列表内,会导致步骤执行逻辑紊乱。所有steps子项的缩进必须和- checkout保持一致。
2. args字段格式不符合规范
原配置的args写法同时违反了Cloud Run参数规则和YAML语法:
- Cloud Run的
--labels参数不需要方括号包裹,正确格式为--labels version=0.1 - 传递多个命令行参数时,建议将
args写成数组形式,避免字符串解析出错;若坚持用字符串形式,需移除多余的引号和方括号
修正后的gcp-cloud-run/deploy配置示例
数组形式(推荐):
- gcp-cloud-run/deploy: image: "gcr.io/test/image:latest" platform: managed region: us-central1 service-name: test-service unauthenticated: false args: --memory=1Gi --min-instances=5 --labels version=0.1
字符串形式:
- gcp-cloud-run/deploy: image: "gcr.io/test/image:latest" platform: managed region: us-central1 service-name: test-service unauthenticated: false args: "--memory=1Gi --min-instances=5 --labels version=0.1"
完整修正后的配置文件
version: 2.1 orbs: gcp-cloud-run: circleci/gcp-cloud-run@1.0.2 gcp-gcr: circleci/gcp-gcr@0.15.0 jobs: build_and_deploy: docker: - image: 'cimg/base:stable' steps: - checkout - gcp-cloud-run/init - gcp-gcr/gcr-auth - setup_remote_docker: version: 20.10.14 docker_layer_caching: true - gcp-gcr/build-image: path: "<path-to-dockerfile>" image: "gcr.io/test/image" - gcp-gcr/push-image: image: "gcr.io/test/image" - gcp-cloud-run/deploy: image: "gcr.io/test/image:latest" platform: managed region: us-central1 service-name: test-service unauthenticated: false args: --memory=1Gi --min-instances=5 --labels version=0.1 workflows: build_and_deploy_to_managed_workflow: jobs: - build_and_deploy
调整后部署标记即可正常生效。
内容的提问来源于stack exchange,提问作者Amogh Mishra
相关产品推荐
相关产品推荐

