Publier et télécharger des packages universels avec Azure Pipelines
Azure DevOps Services
Les packages universels vous permettent de mettre en package un nombre quelconque de fichiers de tout type et de les partager avec votre équipe. À l’aide de la tâche Universal Package dans Azure Pipelines, vous pouvez empaqueter, publier et télécharger des packages de différentes tailles, jusqu’à 4 To. Chaque package est identifié de manière unique par un nom et un numéro de version. Vous pouvez utiliser Azure CLI ou Azure Pipelines pour publier et consommer des packages à partir de vos flux Artifacts.
Notes
Les packages universels sont disponibles uniquement dans Azure DevOps Services.
Copie des fichiers
La tâche Universal Packages dans Azure Pipelines est configurée pour utiliser $(Build.ArtifactStagingDirectory)
comme répertoire de publication par défaut. Pour préparer votre package universel pour la publication, déplacez les fichiers que vous souhaitez publier dans ce répertoire. Vous pouvez également utiliser la tâche d’utilitaire Copier des fichiers pour copier ces fichiers dans le répertoire de publication.
Publier un package universel
Pour publier un package universel dans votre flux Azure Artifacts, ajoutez la tâche suivante au fichier YAML de votre pipeline.
- task: UniversalPackages@0
displayName: Publish a Universal Package
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
packagePublishDescription: '<Package description>'
Argument | Description |
---|---|
publishDirectory | Emplacement des fichiers que vous souhaitez publier. |
vstsFeedPublish | Le nom du projet et du flux sur lesquels publier. Si vous utilisez un flux à l’échelle de l’organisation, spécifiez uniquement le nom du flux. |
vstsFeedPackagePublish | Nom du package. Doit être en minuscules. Utilisez uniquement des lettres, des chiffres et des tirets. |
packagePublishDescription | Description du contenu du package. |
Pour publier des packages sur un flux Azure Artifacts à partir de votre pipeline, l’identité du pipeline doit avoir le rôle Éditeur de flux (Contributeur) sur le flux. Pour plus d’informations, consultez Autorisations des pipelines.
Pour publier sur un flux externe, vous devez d’abord créer une connexion de service pour vous authentifier auprès de votre flux. Pour plus d’informations, veuillez consulter la section Gérer la connexion au service.
Contrôle de version des packages
Les packages universels suivent la spécification sémantique de contrôle de version et peuvent être identifiés par leurs noms et numéros de version. Les numéros de version sémantique sont composés de trois composants numériques, Principal, Mineur et Correctif, au format : Major.Minor.Patch
.
Le numéro de version mineure est incrémenté lorsque de nouvelles fonctionnalités qui sont rétrocompatibles avec les versions précédentes sont ajoutées, dans ce cas, vous incrémentez la version mineure et réinitialisez la version du correctif à 0 (1.4.17
à 1.5.0
). Le numéro de version principale est incrémenté lorsqu’il existe des modifications significatives susceptibles d’interrompre la compatibilité avec les versions précédentes. Dans ce cas, vous incrémentez la version principale et réinitialisez les versions mineures et correctives à 0 (2.6.5
à 3.0.0
). Le numéro de version du correctif doit être incrémenté lorsque seules des corrections de bogues ou d’autres modifications mineures sont apportées, n’affectant pas la compatibilité avec les versions précédentes (1.0.0
à 1.0.1
).
Lors de la publication d’un nouveau package, la tâche Packages universels sélectionne automatiquement la version principale, mineure ou corrective suivante pour vous.
Pour activer le contrôle de version pour votre package, ajoutez une entrée versionOption
à votre fichier YAML. Les options de publication d’une nouvelle version de package sont les suivantes : major
, minor
, patch
ou custom
.
Sélectionner custom
vous permet de spécifier manuellement la version de votre package. Les autres options permettent d’obtenir la dernière version du package à partir de votre flux et d’incrémenter le segment de version choisi de 1. Par conséquent, si vous avez un testPackage 1.0.0et sélectionnez l’option principale, votre nouveau package sera testPackage 2.0.0. Si vous sélectionnez l’option mineur, la version de votre package est 1.1.0et, si vous sélectionnez l’option correctif, la version de votre package est 1.0.1.
Si vous choisissez l’option custom
, vous devez également spécifier une valeur versionPublish
comme suit :
- task: UniversalPackages@0
displayName: Publish a Universal Package
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
versionOption: custom
versionPublish: '<Package version>'
packagePublishDescription: '<Package description>'
Argument | Description |
---|---|
publishDirectory | Emplacement des fichiers que vous souhaitez publier. |
vstsFeedPublish | Le nom du projet et du flux sur lesquels publier. Si vous utilisez un flux à l’échelle de l’organisation, spécifiez uniquement le nom du flux. |
vstsFeedPackagePublish | Nom du package. Doit être en minuscules. Utilisez uniquement des lettres, des chiffres et des tirets. |
versionOption | Sélectionnez une stratégie de contrôle de version. Options : major , minor , patch , custom . |
versionPublish | La version du package personnalisé. |
packagePublishDescription | Description du contenu du package. |
Télécharger un package universel
Pour télécharger un package universel à partir d’un flux dans votre organisation, utilisez la tâche package universel avec la commande download
comme suit :
steps:
- task: UniversalPackages@0
displayName: Download a Universal Package
inputs:
command: download
vstsFeed: '<projectName>/<feedName>'
vstsFeedPackage: '<packageName>'
vstsPackageVersion: '<packageVersion>'
downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument | Description |
---|---|
vstsFeed | Le flux Artifacts hébergeant le package à télécharger. |
vstsFeedPackage | Nom du package à télécharger. |
vstsPackageVersion | Version du package à télécharger. |
downloadDirectory | Le dossier de destination du package. Valeur par défaut : $(System.DefaultWorkingDirectory). |
Pour télécharger un package universel à partir d’une source externe, utilisez l’extrait de code suivant :
steps:
- task: UniversalPackages@0
displayName: Download a Universal Package
inputs:
command: download
feedsToUse: external
externalFeedCredentials: 'MSENG2'
feedDownloadExternal: 'fabrikamFeedExternal'
packageDownloadExternal: 'fabrikam-package'
versionDownloadExternal: 1.0.0
Argument | Description |
---|---|
feedsToUse | Définissez la valeur sur external si vous téléchargez à partir d'une source externe. |
externalFeedCredentials | Nom de la connexion de service au flux externe. Pour plus d’informations, veuillez consulter la section Gérer des connexions de service. |
feedDownloadExternal | Nom du flux externe. |
packageDownloadExternal | Nom du package que vous souhaitez télécharger. |
versionDownloadExternal | Version du package que vous souhaitez télécharger. |
Conseil
Vous pouvez utiliser des caractères génériques pour télécharger la dernière version d’un package universel. Pour plus d’informations, consulter Télécharger la dernière version.