大厅:如何在管道文件中设置变量?

时间:2016-10-05 20:41:58

标签: continuous-integration concourse

所以我一直使用单独的yaml文件来运行大厅管道来保存我的变量,类似于文档中的this example。但是我想在我的主pipe.yml文件中设置我的变量,以避免使用cli选项--load-vars-from some_other_file.yml。我怎么能这样做?

注意:我可能正在寻找使用params:的内容,但我希望我设置的params对于pipeline.yml文件中的所有内容都是全局的,以便一切都可以使用我在其中设置的变量。

2 个答案:

答案 0 :(得分:1)

concourse v3.3.0开始,您可以设置Credential Management以使用Vault中的变量(这是目前唯一支持的凭据管理器)。这样您就不必将任何变量保存在单独的文件中,Vault也会保证它们的安全。

使用Credential Manager,您可以参数化:

  • sourcepipeline
  • 的资源下
  • source位于pipeline
  • 中的resource_types下
  • source位于task config
  • 中的image_resource下
  • params位于pipeline
  • params位于task config

有关设置大厅的保险库,您可以参考:

  

https://concourse-ci.org/creds.html

答案 1 :(得分:0)

我不相信你想要做的事情就像你建议的那样。

我认为你有两个选择:

  1. 将您的YAML文件放在S3存储桶中,让管道将S3存储桶视为资源,并在存储桶更改时自行调用set-pipeline,使用存储桶中的YAML文件填充变量。 / LI>
  2. 将您的YAML文件放在S3存储桶中,并将其用作任何需要这些变量的作业的输入。然后,您可以使用yml2env之类的工具将该YAML文件的内容作为环境变量提供给脚本。