Lire en anglais

Partager via


Publier et télécharger des packages universels avec Azure Pipelines

Azure DevOps Services

Les packages universels vous permettent de empaqueter n’importe quel nombre de fichiers de n’importe quel type et de les partager avec votre équipe. À l’aide de la tâche package universel 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 avec 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.

Copier des fichiers

La tâche Packages universels dans Azure Pipelines est définie 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 l'utilitaire de tâche 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.

YAML
- 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 Nom du projet et du flux à publier. Si vous travaillez avec 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.

Versionnement des paquets

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, Major, Minor et Patch, au format : Major.Minor.Patch.

Le numéro de version mineure est incrémenté lorsque de nouvelles fonctionnalités sont ajoutées qui sont rétrocompatibles avec les versions précédentes, dans ce cas, vous incrémentez la version mineure et réinitialisez la version du correctif sur 0 (1.4.17 sur 1.5.0). Le numéro de version principal 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 sur 0 (2.6.5 sur 3.0.0). Le numéro de version du correctif doit être incrémenté lorsque seuls les correctifs de bogues ou d’autres modifications mineures ne sont pas affectés par 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 de 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, patchou custom.

La sélection de custom vous permet de spécifier manuellement la version de votre package. Les autres options obtiennent la dernière version du package à partir de votre flux et incrémentent le segment de version choisi par 1. Par conséquent, si vous avez un testPackage 1.0.0, puis sélectionnez l’option principale, votre nouveau package sera testPackage 2.0.0. Si vous sélectionnez l’option mineure, la version de votre package sera 1.1.0, et si vous sélectionnez l’option correctif, la version de votre package sera 1.0.1.

Si vous choisissez l’option custom, vous devez également spécifier une valeur versionPublish comme suit :

YAML
- 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 Nom du projet et du flux à 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 versionnement. 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 :

YAML
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.
répertoire de téléchargement 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 :

YAML
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 lors du téléchargement à 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, consultez Télécharger la dernière version.