如何从azure发布管道中的azure构建管道访问自定义变量?

时间:2020-04-28 07:48:46

标签: variables build azure-devops release

我添加了这样的自定义变量:

  - task: Bash@3
    displayName: 'naming the artifact'
    inputs:
      targetType: 'inline'
      script: |
        an=FE_SNAPSHOT.zip
        echo "##vso[task.setvariable variable=artifactName;]$an"

现在,我位于部署管道中,并希望在部署bash脚本中访问变量artifactName

该变量未在“初始化作业”步骤中列出。

更新1: 部署管道触发了构建管道,并且构建管道被链接为工件(在工件部分中)。也许这是另一个问题...

解决方案: 链接票证包含我的解决方案的一部分。 BUILD PIPELINE (创建管道)创建一个简单的文件,其中包含我要存储的值/变量:

  - task: Bash@3
    displayName: 'naming the artifact'
    inputs:
      targetType: 'inline'
      script: echo "FE_SNAPSHOT.zip" > $(Build.ArtifactStagingDirectory)/artifactName.value

DEPLOYMENT PIPELINE 读取文件并设置变量:

  - task: Bash@3
    displayName: 'naming the artifact'
    inputs:
      targetType: 'inline'
      script: |
        an=`cat FE_CI_OS/drop/artifactName.value`
        echo "##vso[task.setvariable variable=artifactName;]${an}"

然后可以将其用作下一个任务$(artifactName)

1 个答案:

答案 0 :(得分:0)

此变量的范围是管道。并且由于该变量是动态设置的,因此未在“初始化作业”中列出。在您的下一个任务中应该可用。您可以在完成此任务后立即添加

- script: echo $(artifactName)

您应该显示自己的值。