Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Nota
Recomendamos o uso de Download Pipeline Artifacts e Publish Pipeline Artifacts para um desempenho mais rápido.
Os Artefatos do Azure permitem que as equipes usem feeds e fontes upstream para gerenciar suas dependências. Você pode usar o Azure Pipelines para publicar e baixar diferentes tipos de artefatos como parte do seu fluxo de trabalho de CI/CD.
Publicar artefatos
Os artefatos podem ser publicados em qualquer estágio do seu pipeline. Você pode usar o YAML ou o editor clássico do Azure DevOps para publicar seus pacotes.
- 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: o caminho do seu artefato. Este pode ser um caminho absoluto ou relativo. Não há suporte para curingas.
- artifactName: o nome do seu artefato.
Nota
Certifique-se de que não está a utilizar um dos nomes de pastas reservadas ao publicar o artefacto. Consulte Pastas de aplicativos para obter mais detalhes.
Exemplo: Usar várias tarefas
- 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: o caminho do seu artefato. Este pode ser um caminho absoluto ou relativo. Não há suporte para curingas.
- artifactName: o nome do seu artefato.
Exemplo: copiar e publicar binários
- 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: a pasta que contém os arquivos que você deseja copiar. Se você deixar isso vazio, a cópia será feita a partir de $(Build.SourcesDirectory).
- contents: Caminhos de arquivo a serem incluídos como parte da cópia.
- targetFolder: pasta de destino.
- pathToPublish: o caminho da pasta ou do arquivo a ser publicado. Pode ser um caminho absoluto ou relativo. Não há suporte para curingas.
- artifactName: o nome do artefato que você deseja criar.
Nota
Certifique-se de não usar o nome reservado para artifactName , como Bin ou App_Data. Consulte ASP.NET Estrutura de pastas do projeto Web para obter mais detalhes.
Nota
Build.ArtifactStagingDirectory O caminho é limpo após cada compilação. Se você estiver usando esse caminho para publicar seu artefato, certifique-se de copiar o conteúdo que deseja publicar neste diretório antes da etapa de publicação.
Baixar artefatos
- 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).
Nota
Se você estiver usando uma tarefa de implantação, poderá fazer referência aos artefatos de compilação usando $(Agent.BuildDirectory). Consulte Variáveis do agente para obter mais detalhes.
Quando a execução do pipeline estiver concluída, navegue até Resumo para explorar ou baixar seu artefato.
Baixar um artefato específico
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.
Sugestões
Desative a Autenticação Básica do IIS se estiver usando o Servidor de DevOps do Azure para permitir a autenticação com seu Token de Acesso Pessoal. Para mais informações, consulte Porque é que a minha PAT deixou de funcionar?.
Use barras para frente em argumentos de caminho de arquivo. As barras invertidas não funcionam em agentes macOS/Linux.
Os artefatos de compilação são armazenados em um sistema de arquivos do Windows, o que faz com que todas as permissões do UNIX sejam perdidas, incluindo o bit de execução. Talvez seja necessário restaurar as permissões corretas do UNIX depois de baixar seus artefatos do Azure Pipelines.
Build.ArtifactStagingDirectoryeBuild.StagingDirectorysão intercambiáveis.Build.ArtifactStagingDirectoryO caminho é limpo após cada compilação.A exclusão de uma compilação associada a pacotes publicados em um compartilhamento de arquivos resultará na exclusão de todos os artefatos nesse caminho UNC.
Se você estiver publicando seus pacotes em um compartilhamento de arquivos, certifique-se de fornecer acesso ao agente de compilação.
Certifique-se de permitir URLs de Domínio de Artefatos do Azure e endereços IP se sua organização estiver usando um firewall.
Utilitário: Copiar arquivos
Utilitário: Publicar artefatos de compilação
Utilitário: Baixar Build Artifacts