【发布时间】:2021-02-10 07:49:03
【问题描述】:
Azure Pipelines 有 Expressions 和 Conditions,但我找不到任何方法根据条件将参数中的两个值之一分配给变量。
有没有我可以做到这一点?
parameters:
- name: major
displayName: " Major Version(Default 3)"
type: string
default: 3
- name: minor
displayName: 'Minor Version(Default 15)'
type: string
default: 15
values:
- 15
- 16
- 17
- 18
- 19
- name: patch
displayName: 'Patch Version(Default 0)'
type: string
default: 0
- name: checksum
displayName: 'Pattern is minor version.patch version, checksum'
type: string
values:
- '15.0, 8003fcfe34dc224be816921e9543fa58ba195653'
- '18.1, d8e42f7a7b85ad72ba27117d1f13a790228f1369'
- '19.0, 4e66eeedba4e1f3ea26cadb0c2bfa96264e7c8fb'
variables:
major: ${{ parameters.major }}
minor: ${{ parameters.minor }}
patch: ${{ parameters.patch }}
finalChecksum : ${{ if contains(parameters.checksum, parameters.minor.parameters.patch) }}: parameters.checksum.split(',')[1]
我追求的是finalchecksum:(因为验证工作正常)
if parameter.checksum contains/startsWith minor.patch:
then
finalchecksum = parameters.checksum.split(',')[1]
这里,
如果次要版本和补丁版本为 18.1,则 finalchecksum = d8e42f7a7b85ad72ba27117d1f13a790228f1369
在我的任务中,我有这样的事情:
- bash: |
echo $(finalChecksum)
然后打印以下错误:
Line 1: `echo True:15.0, 8003fcfe34dc224be816921e9543fa58ba195653.Split(",")[0]'
我对打印checksum 感兴趣,我什至不知道parameters.checksum.split(',')[1] 确实存在于AzDo 世界中。任何建议都会很棒。
【问题讨论】:
标签: azure azure-devops