大厅ci工作参数化

问题描述

我想为不同的环境设置作业参数。

例如:

  resources:
  - name: prod
    type: terraform
    icon: terraform
    source: 
      backend_type: s3
      backend_config: 
        env_name: prod
        bucket: 
        key: 
      env:
        AWS_ACCESS_KEY_ID: ((aws-sts:prod.access_key))
        AWS_SECRET_ACCESS_KEY: ((aws-sts:prod.secret_key))
        AWS_SESSION_TOKEN: ((aws-sts:prod.security_token))
        AWS_REGION: ((vault:kv/my-vault.region))

jobs: 
    - name: terraform plan prod 
      disable_manual_trigger: true
      plan:
        - get: git-repo-prod
          trigger: true
        - put: prod
          params:
            env_name: prod
            terraform_source: git-repo-prod/terraform
            plan_only: true
            vars:
              region: ((vault:kv/my-vault.region))
      

2个问题:

  1. 如何为该工作创建模板。例如,现在我有工作terraform plan prod,并且我希望有1个模板用于具有不同环境的不同工作。 terraform plan *(prod / ppe / qa / dev)
  2. 如何使用文件管理var?
vars:
    region: ((vault:kv/my-vault.region))

我可以使用vars_file,但是在这种情况下,concourse会将变量作为字符串传递给terraform(region: ((vault:kv/my-vault.region))这样的东西)

在大厅里这样做有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)