指定管道任务中的运行时参数

问题描述 投票:0回答:1

我们需要以某种方式将动态运行时参数传递给管道任务。例如,以下参数对于每次任务运行都会有所不同。此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
concourse concourse-pipeline
1个回答
0
投票

来自https://concourse-ci.org/tasks.html:理想情况下,任务是纯函数:给定相同的输入集,它应该总是以相同的输出成功或总是失败。

动态参数会破坏该合同,并从同一组输入产生不同的输出。您能否输入批准?然后,您将保持构建的可追溯性。如果是(文件)输入,则可以将其加载到变量中:

APPROVAL=$(cat <filename>)
© www.soinside.com 2019 - 2024. All rights reserved.