3

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

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

4

2 回答 2

1

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

使用凭证管理器,您可以参数化:

  • source在资源下pipeline
  • source在资源类型下pipeline
  • source在 image_resource 下task config
  • params在一个pipeline
  • params在一个task config

要使用大厅设置保险库,您可以参考:

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

于 2017-06-30T09:59:21.373 回答
0

我不相信你想做的事情是可能的,就像你建议的那样。

我认为你有两个选择:

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