Hen*_*e85 5 azure azure-devops azure-pipelines
我真的很挣扎于我的变量组中名为“android-pipeline”的一些变量。在这个变量组中,我有一些带有值的变量。但是当我运行管道时,它无法读取变量组内的值。:(
示例:在变量组内,我有一个名为 $(key.alias) 的变量,我试图获取该变量后面的值,请参阅下面的代码。
我认为语法(或我使用它的方式)有问题,但我找不到使用 $(key.alias) 变量的正确语法。
另外,在变量组内,我确保所有管道都可以访问该变量组。有人可以告诉我如何获取 $(key.alias) 变量背后的值并在任务中使用它吗?我尝试遵循许多指南,但没有一个对我来说足够清晰或不起作用
variables:
  group: android-pipeline
  buildConfiguration: 'Release'
stages:
stage: Publish
    dependsOn: Build
    displayName: Sign Apps 
    jobs:
        - task: AndroidSigning@3
          displayName: Android App signing
          inputs:
            apkFiles: '**/*.apk'
            apksignerKeystoreFile: '$(androidKeyStore)'
            apksignerKeystorePassword: '********'
            apksignerKeystoreAlias: '$(key.alias)'
            apksignerKeyPassword: '*******'
            apksignerArguments: --out $(outputDirectory)/app.release.apk
            zipalign: true
由于您正在混合组和内联变量,因此您可能需要将其从映射更改为序列,如下所示:
variables:
- group: android-pipeline
- name: buildConfiguration
  value: Release
通常,当您声明变量时,您可以像名称/值对的映射或哈希表一样执行它们:
variables
  var1: value1 # note there's no dash at the beginning of the line
  var2: value2
  var3: value3
  # etc
当你想使用组时,你必须稍微改变你的语法,这样解析器就不会认为你想要创建一个名为“group”的变量 - 你把它变成一个序列或数组:
variables
- group: groupname1 # note there's a dash at the beginning of the line
- group: groupname2
  # etc
这是最后的问题 - 一旦您从第一种格式转到第二种格式(映射到序列),您必须以“序列”样式声明文件本地的新变量:
variables
- group: groupname1 # note there's a dash at the beginning of the line
- name: varname1
  value: value1
- name: varname2
  value: value2
  # etc
您可以使用语法以相同的方式在管道中进一步引用该变量$(varname1)。
如果您遇到问题,我建议您采取以下几项措施(实际上是 3 项):
script或pwsh任务echo或Write-Host您想看到但不想看到的所有内容,如“pwsh: Write-Host "My var should be $(varname1)"| 归档时间: | 
 | 
| 查看次数: | 4750 次 | 
| 最近记录: |