yaml 中的 Azure DevOps FileTransform 任务变量

Azure DevOps FileTransform task variables in yaml

我在管道中使用 Azure DevOps FileTransform@1 任务替换 json 文件中的变量时遇到问题。什么都没做。 我的 yaml 是:

variables:
  - name: MyVariable
    value: TheValue
steps:
  - task:FileTransform@1
    inputs:
      folderPath: ./**.zip
      fileType: json
      targetFiles: '**/appsettings.*.json'

有什么想法吗?

问题出在变量声明中: 使用

variables:
  MyVariable: TheValue

而不是:

variables:
  - name: MyVariable
    value: TheValue

在第二种形式中,您定义了一个变量列表,而不是像第一种形式那样定义一个对象。 FileTransform 任务无法从列表中获取变量名称以替换 json 文件。 我使用列表形式创建具有条件值的变量:

variables:
  - group: AWS   
  - name: AWS_AccessKey
    ${{ if eq(parameters['DeployEnvironment'], 'Development') }}:
      value: $(AWS_ACCESSKEY.Development)
    ${{ if eq(parameters['DeployEnvironment'], 'PreProd') }}:
      value: $(AWS_ACCESSKEY.PreProd)
    ${{ if eq(parameters['DeployEnvironment'], 'Production') }}:
      value: $(AWS_ACCESSKEY.Production)

我没有找到如何使用变量的“对象”形式和值的使用条件。