S.R*_*S.R 3 continuous-integration azure azure-devops azure-pipelines
我正在创建一个 azure 管道作业并希望使用all-features名称作为关键参数。它在 yaml 中有效,但看起来我不能在条件下使用它,或者以某种方式 azure 解析错误。有可能让它工作吗?
parameters:
all-features: false
name: cargo_check
jobs:
- job: ${{ parameters.name }}
pool:
vmImage: ubuntu-16.04
variables:
cliflags: ''
steps:
- template: ../steps/install-rust.yml
parameters:
rustup_toolchain: ${{ parameters.rust }}
- script: echo '##vso[task.setvariable variable=cliflags]$(cliflags) --all-features'
enabled: ${{ parameters.all-features }} ###### at this line I am getting error #######
displayName: "Activate all available features"
Run Code Online (Sandbox Code Playgroud)
错误:
/ci/jobs/cargo-check.yml@templates(第 99 行,第 14 列):意外符号:“所有功能”。位于表达式中的位置 12:parameters.all-features。如需更多帮助,请参阅https://go.microsoft.com/fwlink/?linkid=842996
/ci/jobs/cargo-check.yml@templates(第 99 行,第 14 列):意外值 '${{ parameters.all-features }}'
解决方法是将名称从 更改为paramters.all-features,parameters.all_features但我喜欢使用破折号(-)。它将与命令行界面中的参数名称相同,在这种情况下我的观点是什么。
您可以使用parameters['all-features']代替,parameters.all-features它会起作用。
使用 dash(-) 作为参数中键名的一部分(Azure 管道)
任何不便敬请谅解。
此行为是有意设计的。经过一段时间的调查,但找不到任何解决方法来解决此问题。
正如文档表达式统计:
变量作为表达式的一部分,您可以使用以下两种语法之一访问变量:
- 索引语法: variables['MyVar']
- 属性取消引用语法: variables.MyVar
为了使用属性取消引用语法,属性名称必须:
- 以 aZ 或 _ 开头
- 后跟 aZ 0-9 或 _
希望这对你有帮助。
| 归档时间: |
|
| 查看次数: |
1626 次 |
| 最近记录: |