0

我想弄清楚如何创建一个具有一些CIDR IP地址的数组,以便在我的管道中拥有相同的数组。所以这里有一个例子var文件:大厅CI - 数组变量

whitelist-ip-ranges: |- 
- 10.0.0.0/24 
- 11.0.0.0/24 
- 12.0.0.0/24 

我的管道是这样的:

.... 
.... 
.... 
params: 
    variables: 
     loadBalancerSourceRanges: 
      {{whitelist-ip-ranges}} 

而且我希望它是:

.... 
.... 
.... 
params: 
    variables: 
     loadBalancerSourceRanges: 
      - 10.0.0.0/24 
      - 11.0.0.0/24 
      - 12.0.0.0/24 

.... 
.... 
.... 
params: 
    variables: 
     loadBalancerSourceRanges: [10.0.0.0/24,11.0.0.0/24,12.0.0.0/24] 

内我的掌舵模板我有我的values.yaml文件,我有o当然:

loadBalancerSourceRanges: null 

它将被管道覆盖。 而finaly,在我的服务文件我正在做一个循环:

{{if .Values.loadBalancerSourceRanges}} 
    loadBalancerSourceRanges: 
    {{range $rangeList := .Values.loadBalancerSourceRanges}} 
    - {{ $rangeList }} 
    {{end}} 
{{end}} 

是否有任何你们还是能够做这样的事情?

回答

0

对不起,我不能说什么helm的基础。不过,我可以代表大厅管道。

Concourse不支持将params提供给作为数组的任务。 params作为环境变量传递给正在运行的任务,所以它们从YAML转换为简单的字符串键值对。

如果你想传递更复杂的信息。有两个选项:

  • 编码帕拉姆为JSON/YAML,以便它可以从你的任务环境
  • 提供任务从资源,其中可以提供文件的输入被解析为字符串 - 例如具有的loadBalanceSourceRanges

这些编程的方式的内容的资源S3是我以前用来完成通过更复杂的数据的例子(即阵列)到任务。