如何解决大厅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个问题:
- 如何为该工作创建模板。例如,现在我有工作
terraform plan prod
,并且我希望有1个模板用于具有不同环境的不同工作。terraform plan *
(prod / ppe / qa / dev) - 如何使用文件管理var?
vars:
region: ((vault:kv/my-vault.region))
我可以使用vars_file
,但是在这种情况下,concourse会将变量作为字符串传递给terraform(region: ((vault:kv/my-vault.region))
这样的东西)
在大厅里这样做有可能吗?
解决方法
尝试更改
const string = 'Hello world! This is a string. Strings are very fun. Fun is also very,by definition,fun!'
// array of your description split every 20 characters
const arr = string.match(/.{1,20}/g);
for (let chunk of arr) {
// loop through every element (every 20 characters)
console.log(chunk)
}
到
vars:
region: ((vault:kv/my-vault.region))
当大厅遇到具有子字段的字段(对于Vault来说不是vars: ((vault:kv/my-vault))
),它将子字段视为要以yaml呈现的对象类型。祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。