Partage via


tâche UniversalPackages@0 - Packages universels v0

Utilisez cette tâche pour télécharger ou empaqueter et publier des packages universels.

Syntaxe

# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project). 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project). 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal Packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. Account/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. Account/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.

Entrées

command - Commande
string. Obligatoire. Valeurs autorisées : download, publish. Valeur par défaut : download.

Spécifie la commande NuGet à exécuter.


downloadDirectory - Répertoire de destination
string. Nécessaire lorsque command = download. Valeur par défaut : $(System.DefaultWorkingDirectory).

Spécifie le chemin du dossier dans lequel la tâche télécharge le contenu du package.


feedsToUse - Emplacement du flux
Alias d’entrée : internalOrExternalDownload. string. Nécessaire lorsque command = download. Valeurs autorisées : internal (Cette organization/collection), external (Autre organization/collection). Valeur par défaut : internal.

Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.


feedsToUse - Emplacement du flux
Alias d’entrée : internalOrExternalDownload. string. Nécessaire lorsque command = download. Valeurs autorisées : internal (Ce compte/collection), external (Autre compte/collection). Valeur par défaut : internal.

Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.


externalFeedCredentials - connexion organization/collection
Alias d’entrée : externalEndpoint. string. Optionnel. Utilisez quand internalOrExternalDownload = external && command = download.

Spécifie les informations d’identification à utiliser pour les registres externes situés dans le sélectionné NuGet.config. Pour les flux de ce organization ou de cette collection, laissez ce champ vide ; les informations d’identification de la build sont utilisées automatiquement.


externalFeedCredentials - Connexion de compte/de regroupement
Alias d’entrée : externalEndpoint. string. Optionnel. Utilisez quand internalOrExternalDownload = external && command = download.

Spécifie les informations d’identification à utiliser pour les registres externes situés dans le sélectionné NuGet.config. Pour les flux de ce organization ou de cette collection, laissez ce champ vide ; les informations d’identification de la build sont utilisées automatiquement.


vstsFeed - Nourrir
Alias d’entrée : feedListDownload. string. Nécessaire lorsque internalOrExternalDownload = internal && command = download.

Inclut le flux sélectionné. Vous devez avoir Azure Artifacts installé et avec une licence pour sélectionner un flux ici. Spécifie le feedName pour un flux d’étendue organization et projectName/FeedName ou ProjectID/FeedID pour un flux délimité au projet.


vstsFeedPackage - Nom du package
Alias d’entrée : packageListDownload. string. Nécessaire lorsque internalOrExternalDownload = internal && command = download.

Spécifie le nom du package pour la tâche à télécharger.


vstsPackageVersion - Version
Alias d’entrée : versionListDownload. string. Nécessaire lorsque internalOrExternalDownload = internal && command = download.

Spécifie la version du package ou utilise une variable contenant la version à télécharger. Cette entrée peut également être une expression générique, telle que *, pour obtenir la version la plus élevée. Exemples : 1.* obtient la version la plus élevée avec la version principale 1 et 1.2.* la version corrective la plus élevée avec la version majeure 1 et la version mineure 2.


feedDownloadExternal - Flux (ou Projet/Flux si le flux a été créé dans un projet)
string. Nécessaire lorsque internalOrExternalDownload = external && command = download.

Spécifie un flux dans une autre organization/collection.

Pour les flux délimités au projet, la valeur doit être Project/Feed, où Project est le nom ou l’ID du projet, et Feed est le nom/l’ID du flux. Pour les flux délimités organization, la valeur doit être uniquement le nom du flux.


feedDownloadExternal - Nourrir
string. Nécessaire lorsque internalOrExternalDownload = external && command = download.

Spécifie un flux dans une autre organization/collection.

Pour les flux délimités au projet, la valeur doit être Project/Feed, où Project est le nom ou l’ID du projet, et Feed est le nom/l’ID du flux. Pour les flux délimités organization, la valeur doit être uniquement le nom du flux.


packageDownloadExternal - Nom du package
string. Nécessaire lorsque internalOrExternalDownload = external && command = download.

Spécifie le nom du package à télécharger.


versionDownloadExternal - Version
string. Nécessaire lorsque internalOrExternalDownload = external && command = download.

Spécifie la version du package ou utilise une variable contenant la version à télécharger. Cette entrée peut également être une expression générique, telle que *, pour obtenir la version la plus élevée. Exemples : 1.* obtient la version la plus élevée avec la version principale 1 et 1.2.* la version corrective la plus élevée avec la version majeure 1 et la version mineure 2. Les modèles génériques ne sont pas pris en charge avec les packages en préversion.


publishDirectory - Chemin d’accès au ou aux fichiers à publier
string. Nécessaire lorsque command = publish. Valeur par défaut : $(Build.ArtifactStagingDirectory).

Spécifie le chemin de la liste des fichiers à publier.


feedsToUsePublish - Emplacement du flux
Alias d’entrée : internalOrExternalPublish. string. Nécessaire lorsque command = publish. Valeurs autorisées : internal (Cette organization/collection), external (Autre organization/collection). Valeur par défaut : internal.

Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.


feedsToUsePublish - Emplacement du flux
Alias d’entrée : internalOrExternalPublish. string. Nécessaire lorsque command = publish. Valeurs autorisées : internal (Ce compte/collection), external (Autre compte/collection). Valeur par défaut : internal.

Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.


publishFeedCredentials - connexion organization/collection
Alias d’entrée : externalEndpoints. string. Nécessaire lorsque internalOrExternalPublish = external && command = publish.

Spécifie les informations d’identification à utiliser pour les flux externes.


publishFeedCredentials - Connexion de compte/de regroupement
Alias d’entrée : externalEndpoints. string. Nécessaire lorsque internalOrExternalPublish = external && command = publish.

Spécifie les informations d’identification à utiliser pour les flux externes.


vstsFeedPublish - Flux de destination
Alias d’entrée : feedListPublish. string. Nécessaire lorsque internalOrExternalPublish = internal && command = publish.

Spécifie le projet et le nom/GUID du flux sur lequel publier.


publishPackageMetadata - Publier des métadonnées de pipeline
boolean. Optionnel. Utilisez quand command = publish && internalOrExternalPublish = internal. Valeur par défaut : true.

Associe les métadonnées de ce pipeline de build/mise en production (telles que les informations d’exécution # et de code source) au package.


vstsFeedPackagePublish - Nom du package
Alias d’entrée : packageListPublish. string. Nécessaire lorsque internalOrExternalPublish = internal && command = publish.

Spécifie un ID de package à publier ou crée un ID de package si vous n’avez jamais publié de version de ce package auparavant. Les noms de package doivent être en minuscules et ne peuvent utiliser que des lettres, des chiffres et des tirets (-).


feedPublishExternal - Flux (ou Projet/Flux si le flux a été créé dans un projet)
string. Nécessaire lorsque internalOrExternalPublish = external && command = publish.

Spécifie le nom du flux externe sur lequel publier.

Si le flux a été créé dans un projet, la valeur doit être Project/Feed, où Project est le nom ou l’ID du projet, et Feed est le nom du flux. Si le flux n’a pas été créé dans un projet, la valeur doit être uniquement le nom du flux.


feedPublishExternal - Nourrir
string. Nécessaire lorsque internalOrExternalPublish = external && command = publish.

Spécifie le nom du flux externe sur lequel publier.

Si le flux a été créé dans un projet, la valeur doit être Project/Feed, où Project est le nom ou l’ID du projet, et Feed est le nom du flux. Si le flux n’a pas été créé dans un projet, la valeur doit être uniquement le nom du flux.


packagePublishExternal - Nom du package
string. Nécessaire lorsque internalOrExternalPublish = external && command = publish.

Spécifie le nom du package lors de la publication sur un flux externe.


versionOption - Version
Alias d’entrée : versionPublishSelector. string. Nécessaire lorsque command = publish. Valeurs autorisées : major (Next major), minor (Next minor), patch (Next patch), custom. Valeur par défaut : patch.

Spécifie une stratégie d’incrémentation de version. Valeur custom permettant d’entrer manuellement la version de votre package. Pour les nouveaux packages, la première version sera 1.0.0 si vous spécifiez major, 0.1.0 si vous spécifiez minorou 0.0.1 si vous spécifiez patch. Pour plus d’informations, consultez les spécifications du contrôle de version sémantique .


versionPublish - Version personnalisée
string. Nécessaire lorsque versionPublishSelector = custom && command = publish.

Spécifie un schéma de version personnalisé pour le package.


packagePublishDescription - Description
string. Optionnel. Utilisez quand command = publish.

Spécifie la description du contenu du package et/ou les modifications apportées à cette version du package.


verbosity - Verbosité
string. Valeurs autorisées : None, Trace, Debug, Information, Warning, Error, . Critical Valeur par défaut : None.

Spécifie le niveau de détail affiché dans la sortie.


verbosity - Verbosité
string. Valeurs autorisées : None, Trace, InformationDebug, Warning, Error, , Critical (Citical). Valeur par défaut : None.

Spécifie le niveau de détail affiché dans la sortie.


publishedPackageVar - Variable de sortie de package
string. Optionnel. Utilisez quand command = publish.

Spécifie un nom pour la variable qui contiendra le nom et la version du package publié.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Utilisez cette tâche pour télécharger ou empaqueter et publier des packages universels.

Mon pipeline doit accéder à un flux dans un autre projet

Si le pipeline s’exécute dans un projet différent du projet hébergeant le flux, vous devez configurer l’autre projet pour accorder un accès en lecture/écriture au service de build. Pour plus d’informations, consultez Autorisations de package dans Azure Pipelines.

Exemples

La façon la plus simple de commencer à utiliser la tâche de package universel consiste à utiliser l’éditeur de tâche Pipelines pour générer le YAML. Vous pouvez ensuite copier le code généré dans le fichier de azure-pipelines.yml votre projet. Dans cet exemple, l’exemple montre comment générer rapidement le YAML à l’aide d’un pipeline qui génère une application web progressive (PWA) GatsbyJS.

Les packages universels sont un moyen utile d’encapsuler et de versionner une application web. L’empaquetage d’une application web dans un package universel permet de restaurer rapidement une version spécifique de votre site et élimine la nécessité de générer le site dans le pipeline de déploiement.

Cet exemple de pipeline montre comment extraire un outil à partir d’un flux au sein de votre projet. La tâche de Package universel est utilisée pour télécharger l’outil, exécuter une build et, à nouveau, utilise la tâche de Package universel pour publier l’intégralité de la PWA GatsbyJS compilée dans un flux en tant que package universel versionné.

Capture d’écran de l’exemple de projet.

Télécharger un package avec la tâche Package universel

La deuxième tâche de l’exemple de projet utilise la tâche Package universel pour extraire un outil, imagemagick, à partir d’un flux qui se trouve dans un autre projet dans la même organisation. L’outil imagemagick est requis par l’étape de génération suivante pour redimensionner les images.

  1. Ajoutez la tâche Package universel en cliquant sur l’icône plus, en tapant « universel » dans la zone de recherche, puis en cliquant sur le bouton Ajouter pour ajouter la tâche à votre pipeline.

    Capture d’écran de l’ajout de la tâche de package universel.

  2. Cliquez sur la tâche Package universel nouvellement ajoutée et sur la commande à Download.

  3. Choisissez le répertoire de destination à utiliser pour le téléchargement de l’outil.

  4. Sélectionnez un flux source qui contient l’outil, définissez le Nom du package, puis choisissez Version de l’outil imagemagick dans le flux source.

    Capture d’écran de la configuration de la tâche de package universel à télécharger.

  5. Une fois les champs terminés, cliquez sur Afficher YAML pour afficher le YAML généré.

    Capture d’écran de l’affichage du YAML.

  6. Le générateur de tâches Package universel génère un YAML simplifié qui contient des valeurs autres que celles par défaut. Copiez le YAML généré dans votre azure-pipelines.yml fichier à la racine du dépôt Git de votre projet.

    # Download Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal download'
      inputs:
        downloadDirectory: Application
        vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001'
        vstsFeedPackage: imagemagick
        vstsPackageVersion: 1.0.0
    

Publier un package avec la tâche Package universel

La dernière étape de cet exemple de pipeline utilise la tâche Package universel pour charger la PWA Gatsby prête pour la production qui a été produite par l’étape Run gatsby build dans un flux en tant que package universel versionné. Une fois dans un flux, vous disposez d’une copie permanente de votre site complet qui peut être déployée sur le fournisseur d’hébergement et démarrée avec gatsby serve.

  1. Ajoutez une autre tâche de package universel à la fin du pipeline en cliquant sur l’icône plus, en tapant « universel » dans la zone de recherche, puis en cliquant sur le bouton Ajouter pour ajouter la tâche à votre pipeline. Cette tâche rassemble toutes les ressources prêtes pour la production produites par l’étape Run gatsby build, produit un package universel versionné et publie le package dans un flux.

    Capture d’écran de la définition d’une tâche de package universel à publier.

  2. Définissez la Commande sur Publish.

  3. Définissez Chemin d’accès aux fichiers à publier dans le répertoire contenant le fichier de package.jsonvotre projet GatsbyJS.

  4. Choisissez un flux de destination, un nom de package et définissez votre stratégie de contrôle de version.

    Capture d’écran de la configuration de la tâche de package universel à publier.

  5. Une fois les champs obligatoires terminés, cliquez sur Afficher YAML.

  6. Copiez le FICHIER YAML résultant dans votre azure-pipelines.yml fichier comme précédemment. Le FICHIER YAML de cet exemple de projet s’affiche ci-dessous.

    # Publish Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal publish'
      inputs:
        command: publish
        publishDirectory: Application
        vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs
        vstsFeedPackagePublish: mygatsbysite
        packagePublishDescription: 'A test package'
    

Cet exemple a montré comment utiliser le générateur de tâches Pipelines pour générer rapidement la tâche YAML pour le package universel, qui peut ensuite être placée dans votre azure-pipelines.yml fichier. Le générateur de tâches de package universel prend en charge toutes les configurations avancées qui peuvent être créées avec les arguments de la tâche Package universel .

Notes

La publication d’un package directement dans une vue n’est pas prise en charge dans Azure Artifacts. Vous devez d’abord publier le package dans votre flux, puis le promouvoir dans une vue.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Package
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.115.0 ou version ultérieure
Catégorie de la tâche Package