DownloadPipelineArtifact@2 – Stažení úlohy artefaktů kanálu v2

Pomocí této úlohy můžete stáhnout artefakty kanálu z dřívějších fází tohoto kanálu nebo z jiného kanálu.

Poznámka

Další informace, včetně příkazů Azure CLI, najdete v tématu o stahování artefaktů.

Pomocí této úlohy můžete stáhnout artefakty kanálu z dřívějších fází tohoto kanálu nebo z jiného kanálu.

Důležité

Tato úloha je podporována pouze v Azure DevOps Services. Pokud ho použijete na Azure DevOps Server, zobrazí se Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. chybová zpráva podobná této: Pokud používáte Azure DevOps Server nebo TFS 2018, zobrazí se vám chybová zpráva, která se podobá použití stažení artefaktů sestavení.

Syntax

# Download Pipeline Artifacts v2
# Download build and pipeline artifacts.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'current' # 'current' | 'specific'. Alias: source. Required. Download artifacts produced by. Default: current.
    #project: # string. Required when source == specific. Project. 
    #definition: # string. Alias: pipeline. Required when source == specific. Build pipeline. 
    #specificBuildWithTriggering: false # boolean. Alias: preferTriggeringPipeline. Optional. Use when source == specific. When appropriate, download artifacts from the triggering build. Default: false.
    #buildVersionToDownload: 'latest' # 'latest' | 'latestFromBranch' | 'specific'. Alias: runVersion. Required when source == specific. Build version to download. Default: latest.
    #branchName: 'refs/heads/master' # string. Alias: runBranch. Required when source == specific && runVersion == latestFromBranch. Branch name. Default: refs/heads/master.
    #pipelineId: # string. Alias: runId | buildId. Required when source == specific && runVersion == specific. Build. 
    #tags: # string. Optional. Use when source == specific && runVersion != specific. Build Tags. 
    #allowPartiallySucceededBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from partially succeeded builds. Default: false.
    #allowFailedBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from failed builds. Default: false.
    #artifactName: # string. Alias: artifact. Artifact name. 
    #itemPattern: '**' # string. Alias: patterns. Matching patterns. Default: **.
    targetPath: '$(Pipeline.Workspace)' # string. Alias: path | downloadPath. Required. Destination directory. Default: $(Pipeline.Workspace).

Vstupy

buildType - Stažení artefaktů vytvořených
Alias vstupu: source. string. Povinná hodnota. Povolené hodnoty: current (Aktuální spuštění), specific (Konkrétní spuštění). Výchozí hodnota: current.

Stahuje artefakty vytvořené aktuálním spuštěním kanálu nebo z konkrétního spuštění kanálu.


project - Projektu
string. Vyžaduje se, když source == specific.

Určuje název projektu nebo identifikátor GUID, ze kterého se mají stáhnout artefakty kanálu.


definition - Kanál sestavení
Alias vstupu: pipeline. string. Vyžaduje se, když source == specific.

ID definice kanálu. Ve spuštěném kanálu definitionId najdete proměnnou System.DefinitionId . Můžete definitionId také načíst z adresy URL na stránce přehledu kanálu na portálu Azure DevOps. V následujícím příkladu definitionId adresy URL je hodnota 78: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary. Pokud chcete stáhnout artefakty z konkrétní definice kanálu, zachyťte ho definitionId z daného kanálu a zadejte ho pipeline jako parametr .


specificBuildWithTriggering - V případě potřeby stáhněte artefakty z aktivačního sestavení.
Alias vstupu: preferTriggeringPipeline. boolean. Nepovinný parametr. Použijte, když source == specific. Výchozí hodnota: false.

Pokud je tato políčko zaškrtnuté, úloha stáhne artefakty z aktivačního sestavení. Pokud ze zadaného kanálu neaktivuje žádné sestavení, úloha stáhne artefakty ze sestavení zadaného v následujících možnostech.


buildVersionToDownload - Verze buildu ke stažení
Alias vstupu: runVersion. string. Vyžaduje se, když source == specific. Povolené hodnoty: latest, latestFromBranch (Nejnovější z konkrétní větve a zadané značky buildu) specific (konkrétní verze). Výchozí hodnota: latest.

Určuje verzi buildu, která se má stáhnout.


branchName - Název větve
Alias vstupu: runBranch. string. Vyžaduje se, když source == specific && runVersion == latestFromBranch. Výchozí hodnota: refs/heads/master.

Určuje filtr pro název větve nebo odkazu. Příklad: refs/heads/develop.


pipelineId - Budovat
Alias vstupu: runId | buildId. string. Vyžaduje se, když source == specific && runVersion == specific.

Identifikátor spuštění kanálu, ze kterého se mají stáhnout artefakty. Ve spuštěném kanálu buildId najdete proměnnou Build.BuildId . Můžete buildId také načíst z adresy URL na stránce souhrnu spuštění kanálu na portálu Azure DevOps. V následujícím příkladu buildId adresy URL je 1088: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results. Pokud chcete stáhnout artefakty z konkrétního spuštění kanálu, zachyťte ho buildId z daného spuštění a zadejte ho buildId jako parametr .


tags - Značky sestavení
string. Nepovinný parametr. Použijte, když source == specific && runVersion != specific.

Seznam značek oddělených čárkami, které úloha používá k vrácení označených sestavení. Neoznačené sestavení se nevrátí.


allowPartiallySucceededBuilds - Stáhněte artefakty z částečně úspěšných sestavení.
boolean. Nepovinný parametr. Použijte, když source == specific && runVersion != specific. Výchozí hodnota: false.

Určuje, jestli úloha sestavení stáhne artefakty bez ohledu na to, jestli je sestavení úspěšné nebo částečně úspěšné.


allowFailedBuilds - Stáhněte si artefakty z neúspěšných sestavení.
boolean. Nepovinný parametr. Použijte, když source == specific && runVersion != specific. Výchozí hodnota: false.

Pokud je tato možnost zaškrtnutá, úloha sestavení stáhne artefakty bez ohledu na to, jestli je sestavení úspěšné nebo neúspěšné.


artifactName - Název artefaktu
Alias vstupu: artifact. string.

Určuje název artefaktu, který se má stáhnout. Pokud je hodnota prázdná, úloha stáhne všechny artefakty přidružené ke spuštění kanálu.


itemPattern - Vzory porovnávání
Alias vstupu: patterns. string. Výchozí hodnota: **.

Vzory porovnávání souborů, které omezují stažené soubory. Hodnotou může být jeden nebo více vzorů porovnávání souborů, které jsou oddělené novými řádky. Přečtěte si další informace o vzorech porovnávání souborů.


targetPath - Cílový adresář
Alias vstupu: path | downloadPath. string. Povinná hodnota. Výchozí hodnota: $(Pipeline.Workspace).

Určuje relativní nebo absolutní cestu na počítači agenta, kam se budou artefakty stahovat. Pokud je použita možnost více stažení (ponecháním prázdného názvu artefaktu), vytvoří se pro každé stažení podadresář. Přečtěte si další informace o artefaktech v Azure Pipelines.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.

Výstupní proměnné

Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.

BuildNumber
Ukládá číslo buildu zdroje artefaktů kanálu.

Kvůli zpětné kompatibilitě vrátí tato proměnná BuildId.

Přečtěte si další informace o proměnných sestavení.

Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.

BuildNumber
Ukládá číslo buildu zdroje artefaktů kanálu.

Poznámky

Důležité

Tato úloha je podporována pouze v Azure DevOps Services. Pokud ho použijete na Azure DevOps Server, zobrazí se Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. chybová zpráva podobná této: Pokud používáte Azure DevOps Server nebo TFS 2018, zobrazí se vám chybová zpráva, která se podobá použití stažení artefaktů sestavení.

Pomocí této úlohy můžete stáhnout artefakty kanálu z dřívějších fází tohoto kanálu nebo z jiného kanálu. Ve výchozím nastavení se artefakty stahují do .$(Pipeline.Workspace) Pokud nezadáte název artefaktu, vytvoří se pro každý stažený artefakt podadresář. Soubory, které chcete stáhnout, můžete omezit pomocí vzorů porovnávání souborů .

Klíčová slova publish a download představují klávesové zkratky úloh pro publikování a stahování artefaktů kanálu.

Jak najdu ID kanálu, ze kterého chci stáhnout artefakt?

Vyhledání ID definice pro konkrétní definici kanálu

Ve spuštěném kanálu najdete proměnnou definitionIdSystem.DefinitionId . Můžete definitionId také načíst z adresy URL na stránce přehledu kanálu na portálu Azure DevOps. V následujícím příkladu definitionId adresy URL je hodnota 78: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary. Pokud chcete stáhnout artefakty z konkrétní definice kanálu, zachyťte ho definitionId z daného kanálu a zadejte ho pipeline jako parametr .

Zjištění ID sestavení pro konkrétní spuštění kanálu

Identifikátor spuštění kanálu, ze kterého se mají stáhnout artefakty. Ve spuštěném kanálu buildId najdete proměnnou Build.BuildId . Můžete buildId také načíst z adresy URL na stránce souhrnu spuštění kanálu na portálu Azure DevOps. V následujícím příkladu buildId adresy URL je 1088: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results. Pokud chcete stáhnout artefakty z konkrétního spuštění kanálu, zachyťte ho buildId z daného spuštění a zadejte ho buildId jako parametr .

Příklady

Stažení konkrétního artefaktu

# Download an artifact named 'WebApp' to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin

Stažení artefaktů z konkrétního projektu nebo kanálu

# Download artifacts from a specific pipeline.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latest'

Stažení artefaktů z konkrétní větve

# Download artifacts from a specific branch with a tag
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latestFromBranch'
    branchName: 'refs/heads/master'
    tags: 'testTag'

Stažení artefaktu z konkrétního spuštění sestavení

# Download an artifact named 'WebApp' from a specific build run to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'specific'
    pipelineId: 40

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build, klasická verze
Běží na Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.164.1 nebo vyšší
Kategorie úloh Nástroj