在 Azure DevOps 中,我可以声明这样的变量吗?
- name: overrideParameters
${{ if contains(lower(parameters.stageDisplayname), 'aa')}}:
- ${{ if endsWith(lower(parameters.stageDisplayname), 'j') }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}"'
- ${{ else }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}" -f 32'
${{ else }}:
- ${{ if endsWith(lower(parameters.stageDisplayname), 'j') }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}" -f 64 '
- ${{ else }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -ee "${{ parameters.ee }}" '
不要介意参数,只看语法。我修改了实际的代码,因此可能缺少一些撇号和逗号,所以我提前道歉。
如果这是可行的,因为我这样做时遇到这样的错误:
我只需从条件中删除破折号。像这样的东西:
- name: overrideParameters
${{ if contains(lower(parameters.stageDisplayname), 'aa') }}:
${{ if endsWith(lower(parameters.stageDisplayname), 'j') }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}"'
${{ else }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}" -f 32'
${{ else }}:
${{ if endsWith(lower(parameters.stageDisplayname), 'j') }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -e "${{ parameters.e }}" -f 64'
${{ else }}:
value: '-a "$(Gate.a)" -b "${{ parameters.b }}" -c "${{ parameters.c }}" -d "${{ parameters.d }}" -ee "${{ parameters.ee }}"'