我的管道中的部署作业具有环境
环境:“ myname-$(variable1)”
但是当我查看Azure Devops中的环境时,它并没有替换变量,而是将我的环境命名为“ myname-$(variable1)”,而不是“ myname-helloworld”。
对环境名称使用变量的任何方法吗?
stages.yml
stages:
- stage:
variables:
EnvironmentName: Prod
jobs:
- template: steps.yml
....
steps:yml
jobs:
- deployment: deployment
environment: ${{ EnvironmentName }}
strategy:
...
答案 0 :(得分:0)
解决方案是使用参数而不是变量。
stages.yml
stages:
- stage:
variables:
EnvironmentName: Prod
jobs:
- template: steps.yml
parameters:
myParameter: Test
....
steps:yml
parameters:
- name: myParameter
jobs:
- deployment: deployment
environment: ${{ parameters['myParameter']}}
strategy:
...
答案 1 :(得分:-1)
请参阅expressions documentation。您需要使用运行时或编译时间表达式。
environment: "myname-${{ variable1 }}"
这将在解析YAML文件时扩展变量值。如果variable
是您定义的变量,则会对其进行相应的扩展。
如果在管道执行的某个时刻定义了variable1
,那么您需要使用运行时语法:$[ variable1 ]
。