【发布时间】:2021-01-13 12:42:05
【问题描述】:
我想知道是否可以在 Azure Pipelines 模板 yaml 中混合映射参数,以及如何做到这一点。
下面显示的这两个场景做同样的事情:将模板参数作为 env 参数放在任务中,但在第二个场景中,我试图通过两个映射而不是一个映射来完成。当我对这些值有不同的用途时(在扩展模板的人眼中),这可能很有用,但两者都将用作引擎盖下的“环境”。
这很好用:
主管道:
...
extends:
template: templates/deploy/v1/deployment.job.yaml@infrastructure-templates
parameters:
name: dev
variableGroup: 'AzureDevopsVariableGroupName'
secretEnvVariables:
SECRET1: ${SECRET1}
SECRET2: ${SECRET2}
目标模板:
parameters:
- name: secretEnvVariables
type: object
jobs:
...
steps:
- bash: |
#!/bin/bash
echo "SECRET1 = ${SECRET1}"
...
displayName: Substitute Env VARS on files
enabled: true
env:
${{ parameters.secretEnvVariables }}
这不起作用(我想知道是否可以使它起作用):
主管道:
...
extends:
template: templates/deploy/v1/deployment.job.yaml@infrastructure-templates
parameters:
name: dev
variableGroup: 'AzureDevopsVariableGroupName'
secretEnvVariables:
SECRET1: ${SECRET1}
SECRET2: ${SECRET2}
moreVariables:
VAR1: ${VAR1}
目标模板:
parameters:
- name: secretEnvVariables
type: object
- name: moreVariables
type: object
jobs:
...
steps:
- bash: |
#!/bin/bash
echo "SECRET1 = ${SECRET1}"
echo "VAR = ${VAR1}"
...
displayName: Substitute Env VARS on files
enabled: true
env:
${{ parameters.secretEnvVariables }}
${{ parameters.moreVariables }}
可以吗?怎么做?
【问题讨论】:
-
这个问题怎么样?下面的答案是否解决了您的问题?
标签: azure azure-devops yaml azure-pipelines