Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Nota
È consigliabile usare Download Pipeline Artifacts (Scarica artefatti pipeline) e Publish Pipeline Artifacts (Pubblica artefatti della pipeline) per ottenere prestazioni più veloci.
Azure Artifacts consente ai team di usare feed e origini upstream per gestire le dipendenze. È possibile usare Azure Pipelines per pubblicare e scaricare diversi tipi di artefatti come parte del flusso di lavoro CI/CD.
Pubblicare elementi
Gli artefatti possono essere pubblicati in qualsiasi fase della pipeline. È possibile usare YAML o l'editor di Azure DevOps classico per pubblicare i pacchetti.
- YAML
- Classico
- 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: percorso dell'artefatto. Può trattarsi di un percorso assoluto o relativo. I caratteri jolly non sono supportati.
- artifactName: nome dell'artefatto.
Nota
Assicurarsi di non usare uno dei nomi di cartelle riservate durante la pubblicazione dell'artefatto. Per altri dettagli, vedere Cartelle dell'applicazione.
Esempio: Usare più attività
- YAML
- Classico
- 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: percorso dell'artefatto. Può trattarsi di un percorso assoluto o relativo. I caratteri jolly non sono supportati.
- artifactName: nome dell'artefatto.
Esempio: Copiare e pubblicare file binari
- YAML
- Classico
- 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: cartella contenente i file da copiare. Se si lascia vuoto, la copia verrà eseguita da $(Build.SourcesDirectory).
- contents: percorsi di file da includere come parte della copia.
- targetFolder: cartella di destinazione.
- pathToPublish: percorso della cartella o del file da pubblicare. Può essere un percorso assoluto o relativo. I caratteri jolly non sono supportati.
- artifactName: nome dell'artefatto che si vuole creare.
Nota
Assicurarsi di non usare il nome riservato per artifactName , ad esempio Bin o App_Data. Per altri dettagli, vedere ASP.NET Struttura di cartelle del progetto Web.
Nota
Build.ArtifactStagingDirectory il percorso viene pulito dopo ogni compilazione. Se si usa questo percorso per pubblicare l'artefatto, assicurarsi di copiare il contenuto da pubblicare in questa directory prima del passaggio di pubblicazione.
Scaricare gli artefatti
- YAML
- Classico
- 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 si usa un'attività di distribuzione, è possibile fare riferimento agli artefatti di compilazione usando $(Agent.BuildDirectory). Per altri dettagli, vedere Variabili dell'agente .
Al termine dell'esecuzione della pipeline, passare a Riepilogo per esplorare o scaricare l'artefatto.
Scaricare un artefatto specifico
- YAML
- Classico
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.
Suggerimenti
Disabilitare l'autenticazione di base di IIS se si usa Azure DevOps Server per consentire l'autenticazione con il token di accesso personale. Per altre informazioni, vedere Perché il pat ha smesso di funzionare?.
Usare barre negli argomenti del percorso del file. Le barre rovesciata non funzionano negli agenti macOS/Linux.
Gli artefatti di compilazione vengono archiviati in un file system Windows, che causa la perdita di tutte le autorizzazioni UNIX, incluso il bit di esecuzione. Potrebbe essere necessario ripristinare le autorizzazioni UNIX corrette dopo aver scaricato gli artefatti da Azure Pipelines.
Build.ArtifactStagingDirectoryeBuild.StagingDirectorysono intercambiabili.Build.ArtifactStagingDirectoryil percorso viene pulito dopo ogni compilazione.L'eliminazione di una compilazione associata ai pacchetti pubblicati in una condivisione file comporterà l'eliminazione di tutti gli artefatti nel percorso UNC.
Se si pubblicano i pacchetti in una condivisione file, assicurarsi di fornire l'accesso all'agente di compilazione.
Assicurarsi di consentire GLI URL e gli indirizzi IP del dominio di Azure Artifacts se l'organizzazione usa un firewall.
Utilità: Copiare file
Utilità: Pubblicare artefatti di compilazione
Utilità: scaricare gli artefatti di compilazione