Publicera och ladda ned byggartefakter
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Kommentar
Vi rekommenderar att du använder Ladda ned pipelineartefakter och publicera pipelineartefakter för snabbare prestanda.
Med Azure Artifacts kan team använda feeds och överordnade källor för att hantera sina beroenden. Du kan använda Azure Pipelines för att publicera och ladda ned olika typer av artefakter som en del av ditt CI/CD-arbetsflöde.
Publicera artefakter
Artefakter kan publiceras i alla steg i pipelinen. Du kan använda YAML eller den klassiska Azure DevOps-redigeraren för att publicera dina paket.
- 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: sökvägen till artefakten. Detta kan vara en absolut eller relativ sökväg. Jokertecken stöds inte.
- artifactName: namnet på artefakten.
Kommentar
Kontrollera att du inte använder något av de reserverade mappnamnen när du publicerar artefakten. Mer information finns i Programmappar .
Exempel: Använd flera uppgifter
- 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: sökvägen till artefakten. Detta kan vara en absolut eller relativ sökväg. Jokertecken stöds inte.
- artifactName: namnet på artefakten.
Exempel: Kopiera och publicera binärfiler
- 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: mappen som innehåller de filer som du vill kopiera. Om du lämnar detta tomt görs kopiering från $(Build.SourcesDirectory).
- innehåll: Filsökvägar som ska inkluderas som en del av kopian.
- targetFolder: målmapp.
- pathToPublish: mappen eller filsökvägen som ska publiceras. Det kan vara en absolut eller relativ sökväg. Jokertecken stöds inte.
- artifactName: namnet på artefakten som du vill skapa.
Kommentar
Se till att inte använda reserverat namn för artifactName , till exempel bin eller App_Data. Mer information finns i ASP.NET mappstruktur för webbprojekt.
Kommentar
Build.ArtifactStagingDirectory
sökvägen rensas efter varje version. Om du använder den här sökvägen för att publicera artefakten ska du kopiera det innehåll som du vill publicera till den här katalogen före publiceringssteget.
Ladda ned artefakter
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
- buildType: ange vilka byggartefakter som ska laddas ned:
current
(standardvärdet) eller från en specifik version. - downloadType: välj om du vill ladda ned en enskild artefakt eller alla artefakter i en specifik version.
- artifactName: namnet på artefakten som ska laddas ned.
- downloadPath: sökväg på agentdatorn där artefakterna laddas ned.
Kommentar
Om du använder en distributionsuppgift kan du referera till dina byggartefakter med hjälp av $(Agent.BuildDirectory). Mer information finns i Agentvariabler .
När pipelinekörningen är klar går du till Sammanfattning för att utforska eller ladda ned artefakten.
Ladda ned en specifik artefakt
steps:
- task: DownloadBuildArtifacts@1
displayName: 'Download Build Artifacts'
inputs:
buildType: specific
project: 'xxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxx'
pipeline: 20
buildVersionToDownload: specific
buildId: 128
artifactName: drop
extractTars: false
Tips
Inaktivera grundläggande IIS-autentisering om du använder Azure DevOps Server för att tillåta autentisering med din personliga åtkomsttoken. Mer information finns i Grundläggande autentisering och PAT för IIS.
Använd snedstreck i filsökvägsargument. Omvänt snedstreck fungerar inte i macOS/Linux-agenter.
Byggartefakter lagras i ett Windows-filsystem, vilket gör att alla UNIX-behörigheter går förlorade, inklusive körningsbiten. Du kan behöva återställa rätt UNIX-behörigheter när du har laddat ned artefakterna från Azure Pipelines.
Build.ArtifactStagingDirectory
ochBuild.StagingDirectory
är utbytbara.Build.ArtifactStagingDirectory
sökvägen rensas efter varje version.Om du tar bort en version som är associerad med paket som publicerats till en filresurs tas alla artefakter bort i unc-sökvägen.
Om du publicerar dina paket till en filresurs kontrollerar du att du ger åtkomst till byggagenten.
Se till att du tillåter URL:er och IP-adresser för Azure Artifacts-domäner om din organisation använder en brandvägg.