如何在另一个任务 Azure Pipeline 中重用一个任务的 DownloadFile

How to reuse DownloadFile from a task in another task Azure Pipeline

我想避免在 Azure DevOps 上的管道中重复代码。对于一项任务,我需要下载设置,在最后一步,我还需要重新使用该文件。我试图访问此变量,但它返回“无法找到此变量”。

stages:
    - stage: Setup
      jobs:
        - job: Verify
          steps:
            - task: DownloadSecureFile@1
              name: mvnSettings
              displayName: 'Download maven settings'
              inputs:
                secureFile: 'settings-azure.xml'

            - task: Maven@3
              inputs:
                mavenPomFile: 'pom.xml'
                options: '-s $(mvnSettings.secureFilePath)' ...

    - stage: build_and_deploy
      jobs:
        - job: build_and_deploy
          steps:
            - task: DownloadSecureFile@1
              name: mvnSettings
              displayName: 'Download maven settings'
              inputs:
                secureFile: 'settings-azure.xml'
            - task: Maven@3 ...

目标是重用在下面这个块中创建的变量。

        - task: DownloadSecureFile@1
          name: mvnSettings
          displayName: 'Download maven settings'
          inputs:
            secureFile: 'settings-azure.xml'

如果你换了工作,你就换了Build Agent。这就是您的文件丢失的原因。

您可以使用工件将文件从作业传递到作业或从任务传递到任务。

您将在此处找到操作方法:

https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/build-artifacts?view=azure-devops&tabs=yaml

小心。有已弃用的构建工件。改为使用管道工件