Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Poznámka:
Pro zajištění rychlejšího výkonu doporučujeme použít stažení artefaktů kanálu a publikování artefaktů kanálu.
Azure Artifacts umožňuje týmům používat informační kanály a upstreamové zdroje ke správě jejich závislostí. Azure Pipelines můžete použít k publikování a stahování různých typů artefaktů v rámci pracovního postupu CI/CD.
Publikování artefaktů
Artefakty je možné publikovat v libovolné fázi kanálu. K publikování balíčků můžete použít YAML nebo klasický editor Azure DevOps.
- YAML
- Klasické
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
- pathToPublish: cesta k artefaktu. Může to být absolutní nebo relativní cesta. Zástupné kóty nejsou podporované.
- artifactName: název artefaktu.
Poznámka:
Při publikování artefaktu se ujistěte, že nepoužíváte jeden z názvů rezervovaných složek. Další podrobnosti najdete v tématu Složky aplikací.
Příklad: Použití více úkolů
- YAML
- Klasické
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop1
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop2
- pathToPublish: cesta k artefaktu. Může to být absolutní nebo relativní cesta. Zástupné kóty nejsou podporované.
- artifactName: název artefaktu.
Příklad: Kopírování a publikování binárních souborů
- YAML
- Klasické
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
- sourceFolder: složka obsahující soubory, které chcete kopírovat. Pokud necháte toto prázdné, kopírování se provede z $(Build.SourcesDirectory).
- obsah: Cesty k souborům, které se mají zahrnout jako součást kopie.
- targetFolder: cílová složka.
- pathToPublish: složka nebo cesta k souboru k publikování. Může to být absolutní nebo relativní cesta. Zástupné kóty nejsou podporované.
- artifactName: název artefaktu, který chcete vytvořit.
Poznámka:
Ujistěte se, že nepoužíváte vyhrazený název pro artifactName, jako je bin nebo App_Data. Další podrobnosti najdete v tématu ASP.NET Struktura složek webového projektu.
Poznámka:
Build.ArtifactStagingDirectory cesta se po každém sestavení vyčistí. Pokud k publikování artefaktu používáte tuto cestu, před krokem publikování nezapomeňte zkopírovat obsah, který chcete publikovat do tohoto adresáře.
Stažení artefaktů
- YAML
- Klasické
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: DownloadBuildArtifacts@1
inputs:
buildType: 'current' # Options: 'current' | 'specific'. Specify which build artifacts will be downloaded: `current` or from a specific build
downloadType: 'single' # Options: 'single' | 'specific'. Choose whether to download a single artifact or all artifacts of a specific build.
artifactName: 'drop' # Required when downloadType == single. The name of the artifact that will be downloaded.
downloadPath: '$(System.ArtifactsDirectory)' # Path on the agent machine where the artifacts will be downloaded. Default: $(System.ArtifactsDirectory).
Poznámka:
Pokud používáte úlohu nasazení, můžete odkazovat na artefakty sestavení pomocí $(Agent.BuildDirectory). Další podrobnosti najdete v tématu Proměnné agenta.
Po dokončení spuštění kanálu přejděte do části Souhrn a prozkoumejte nebo stáhněte artefakt.
Stažení konkrétního artefaktu
- YAML
- Klasické
steps:
- task: DownloadBuildArtifacts@1
displayName: 'Download Build Artifacts'
inputs:
buildType: specific # Options: 'current' | 'specific'. Specify which build artifacts will be downloaded: `current` or from a specific build
project: 'xxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxx' # Required when buildType == specific. Project ID.
pipeline: 20 # Required when buildType == specific. Build pipeline.
buildVersionToDownload: specific # Options: 'latest' | 'latestFromBranch' | 'specific'. Required when buildType == specific. Build version to download.
buildId: 128 # Required when buildType == specific && buildVersionToDownload == specific. Build ID.
artifactName: drop # The name of the artifact that will be downloaded.
extractTars: false # boolean. Extract all files that are stored inside tar archives.
Tipy
Pokud k povolení ověřování pomocí osobního přístupového tokenu používáte Azure DevOps Server, zakažte základní ověřování služby IIS. Další informace najdete v tématu Proč můj pat přestal fungovat?.
V argumentech cesty k souboru použijte lomítka. V agentech macOS/Linux nefungují zpětná lomítka.
Artefakty sestavení jsou uloženy v systému souborů Systému Windows, což způsobí ztrátu všech oprávnění systému UNIX, včetně spouštěcí bit. Po stažení artefaktů ze služby Azure Pipelines možná budete muset obnovit správná oprávnění systému UNIX.
Build.ArtifactStagingDirectoryaBuild.StagingDirectoryjsou zaměnitelné.Build.ArtifactStagingDirectorycesta se po každém sestavení vyčistí.Odstranění sestavení přidruženého k balíčkům publikovaným ve sdílené složce způsobí odstranění všech artefaktů v této cestě UNC.
Pokud balíčky publikujete do sdílené složky, ujistěte se, že poskytujete přístup k agentovi sestavení.
Pokud vaše organizace používá bránu firewall, ujistěte se, že povolujete adresy URL a IP adresy domény Azure Artifacts.
Nástroj: Kopírování souborů
Nástroj: Publikování artefaktů sestavení
Nástroj: Stažení artefaktů sestavení