最近,我在我的团队的github循环上做了一些配置。我需要使用when语句来划分ci逻辑。我引用了这个文档(https://circleci.com/docs/2.0/configuration-reference/#logic-statements),但文档似乎不正确。
以下是我的步骤定义:
...
image_build_step:
executor: golang_executor
steps:
- checkout
- setup_remote_docker:
version: 18.09.3
docker_layer_caching: true
- define_svc_name:
jobname: ${CIRCLE_JOB} # On this step set $SVC variable
- when:
conditon:
equal: ["${SVC}", "SVC_A" ]
- aws-ecr/build-and-push-image:
repo: SVC_A_REPO
dockerfile: ./Dockerfile
tag: "latest,${CIRCLE_SHA1},build-${CIRCLE_BUILD_NUM}"
...而且我已经试过这个了。
...
image_build_step:
executor: golang_executor
steps:
- checkout
- setup_remote_docker:
version: 18.09.3
docker_layer_caching: true
- define_svc_name:
jobname: ${CIRCLE_JOB} # On this step set $SVC variable
- when:
equal: ["${SVC}", "SVC_A" ]
- aws-ecr/build-and-push-image:
repo: SVC_A_REPO
dockerfile: ./Dockerfile
tag: "latest,${CIRCLE_SHA1},build-${CIRCLE_BUILD_NUM}"
...我想不出我的错误是怎么说的。此外,在推动提交之前,我已经通过了circleci config validate .circleci/config.yaml命令。
when语句在循环中的正确用法是什么?加入循环论坛也是烦扰我使用github帐户,所以我留下了我的问题在监视溢出。
发布于 2022-09-05 20:22:47
在逻辑语句中使用环境变量是不可能的。原因是逻辑语句是在配置编译时计算的。,而环境变量是在运行时插值的。
我所知道的唯一解决办法是使用CircleCI动态配置功能在“安装工作流”中设置管道参数的值,然后传递给“延续”工作流。
https://stackoverflow.com/questions/62669799
复制相似问题