Search code examples
azure-devopsmultistage-pipeline

Deploy a preexisting artifact in a Azure DevOps Multi-Stage pipeline


In Azure DevOps classic pipelines you can have a build pipeline for creating the artifact and a release pipeline for deploying it. This means that whatever stored prexisting artifact could be deployed simply launching the release pipeline and selecting the artifact´s version (typical usage: rolling back the current deployed artifact to a previous version)

How this can be achieved in Multi-Stage pipeline? Any way of launching only the deployment stage selecting the artifact to be deployed?

Regards


Solution

  • How this can be achieved in Multi-Stage pipeline? Any way of launching only the deployment stage selecting the artifact to be deployed?

    Indeed, this is very convenient to choose prexisting artifact based on actual demands, but what you want does not supported in Multi-Stage pipeline until now.

    This request already reported to the MS product team:

    Select artifacts in YAML release pipeline

    This feature have been added in the last sprint:

    Pipeline resource version picker in the create run dialogue

    However, as I test, it seems this feature has not been deployed in all regions:

    enter image description here

    If it not deployed in your region, you could try to use the task Download Pipeline Artifacts task with the runId input:

    - task: DownloadPipelineArtifact@2
      inputs:
        source: 'specific'
        artifact: 'drop'
        path: $(Build.SourcesDirectory)/bin
        project: 'AndroidBuild'
        pipeline: 12
        runVersion: 'specific'
        runId: $(buildid)
    

    Then use pass queue variable buildid when we queue the build:

    enter image description here

    Hope this helps.