在管道任务中指定运行时参数
Specify runtime parameter in a pipeline task
我们需要以某种方式将动态 运行time 参数传递给管道任务。
例如,下面的参数 APPROVAL 对于任务的每个 运行 都是不同的。
此 APPROVAL 参数用于更改和发布编号,以便任务可以在为审计目的创建的 Terraform 资源上对其进行标记。
在网上搜索了一段时间,但未能找到解决方案,这是否可能在汇集管道或最佳实践中实现?
- task: plan-terraform
file: ci/concourse-jobs/pipelines/tasks/terraform/plan-terraform.yaml
params:
ENV: dev
APPROVAL: test
CHANNEL: Developement
GITLAB_KEY: ((gitlab_key))
REGION: eu-west-2
TF_FOLDER: terraform/squid
input_mapping:
ci: ci
tf: squid
output_mapping:
plan: plan
tags:
- dev
来自https://concourse-ci.org/tasks.html:
理想情况下,任务是纯函数:给定相同的输入集,它应该总是成功并获得相同的输出,或者总是失败。
动态参数会破坏该契约并从同一组输入中产生不同的输出。您能否将 APPROVAL 作为输入?然后您将保持构建的可追溯性。如果它是(文件)输入,则可以将其加载到变量中:
APPROVAL=$(cat <filename>)
我们需要以某种方式将动态 运行time 参数传递给管道任务。 例如,下面的参数 APPROVAL 对于任务的每个 运行 都是不同的。 此 APPROVAL 参数用于更改和发布编号,以便任务可以在为审计目的创建的 Terraform 资源上对其进行标记。
在网上搜索了一段时间,但未能找到解决方案,这是否可能在汇集管道或最佳实践中实现?
- task: plan-terraform
file: ci/concourse-jobs/pipelines/tasks/terraform/plan-terraform.yaml
params:
ENV: dev
APPROVAL: test
CHANNEL: Developement
GITLAB_KEY: ((gitlab_key))
REGION: eu-west-2
TF_FOLDER: terraform/squid
input_mapping:
ci: ci
tf: squid
output_mapping:
plan: plan
tags:
- dev
来自https://concourse-ci.org/tasks.html: 理想情况下,任务是纯函数:给定相同的输入集,它应该总是成功并获得相同的输出,或者总是失败。
动态参数会破坏该契约并从同一组输入中产生不同的输出。您能否将 APPROVAL 作为输入?然后您将保持构建的可追溯性。如果它是(文件)输入,则可以将其加载到变量中:
APPROVAL=$(cat <filename>)