Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
Entrées
command
-
commande
string
. Obligatoire. Valeurs autorisées : download
, publish
. Valeur par défaut : download
.
Spécifie la commande Package universel à exécuter.
downloadDirectory
-
répertoire de destination
string
. Obligatoire 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
. Obligatoire lorsque command = download
. Valeurs autorisées : internal
(cette organisation/collection), external
(autre organisation/collection). Valeur par défaut : internal
.
Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.
externalFeedCredentials
-
de connexion organisation/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 NuGet.config
sélectionné. Pour les flux de cette organisation ou de cette collection, laissez ce champ vide ; les informations d’identification de la build sont utilisées automatiquement.
vstsFeed
-
de flux
Alias d’entrée : feedListDownload
.
string
. Obligatoire lorsque internalOrExternalDownload = internal && command = download
.
Inclut le flux sélectionné. Vous devez disposer d’Azure Artifacts installés et concédés sous licence pour sélectionner un flux ici. Spécifie le FeedName pour un flux d’étendue organisation et projectName/FeedName ou ProjectID/FeedID pour un flux délimité par le projet.
vstsFeedPackage
-
nom du package
Alias d’entrée : packageListDownload
.
string
. Obligatoire 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
. Obligatoire 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 majeure 1, et 1.2.*
obtient 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
. Obligatoire lorsque internalOrExternalDownload = external && command = download
.
Spécifie un flux dans une autre organisation/collection.
Pour les flux délimités par le 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 par l’organisation, la valeur doit être uniquement le nom du flux.
packageDownloadExternal
-
nom du package
string
. Obligatoire lorsque internalOrExternalDownload = external && command = download
.
Spécifie le nom du package à télécharger.
versionDownloadExternal
-
version
string
. Obligatoire 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 majeure 1, et 1.2.*
obtient 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 de préversion.
publishDirectory
-
chemin d’accès aux fichiers pour publier des
string
. Obligatoire lorsque command = publish
. Valeur par défaut : $(Build.ArtifactStagingDirectory)
.
Spécifie le chemin d’accès à la liste des fichiers à publier.
feedsToUsePublish
-
emplacement du flux
Alias d’entrée : internalOrExternalPublish
.
string
. Obligatoire lorsque command = publish
. Valeurs autorisées : internal
(cette organisation/collection), external
(autre organisation/collection). Valeur par défaut : internal
.
Spécifie un flux de cette collection ou d’une autre collection dans Azure Artifacts.
publishFeedCredentials
-
de connexion organisation/regroupement
Alias d’entrée : externalEndpoints
.
string
. Obligatoire lorsque internalOrExternalPublish = external && command = publish
.
Spécifie les informations d’identification à utiliser pour les flux externes.
vstsFeedPublish
-
de flux de destination
Alias d’entrée : feedListPublish
.
string
. Obligatoire lorsque internalOrExternalPublish = internal && command = publish
.
Spécifie le projet et le nom/GUID du flux à 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 de code source et de run #) au package.
vstsFeedPackagePublish
-
nom du package
Alias d’entrée : packageListPublish
.
string
. Obligatoire 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é une version de ce package. 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
. Obligatoire lorsque internalOrExternalPublish = external && command = publish
.
Spécifie le nom du flux externe dans 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
. Obligatoire 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
. Obligatoire lorsque command = publish
. Valeurs autorisées : major
(major suivant), minor
(secondaire suivant), patch
(correctif suivant), custom
. Valeur par défaut : patch
.
Spécifie une stratégie d’incrémentation de version. Valeur custom
pour 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 minor
, ou 0.0.1 si vous spécifiez patch
. Pour plus d’informations, consultez le de spécification de gestion de version sémantique.
versionPublish
-
version personnalisée
string
. Obligatoire 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 dans cette version du package.
verbosity
-
verbosity
string
. Valeurs autorisées : None
, Trace
, Debug
, Information
, Warning
, Error
, Critical
. Valeur par défaut : None
.
Spécifie la quantité de détails affichée 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és.
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.
Remarques
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 génération. Pour plus d’informations, consultez autorisations de package dans Azure Pipelines.
Exemples
La façon la plus simple de bien démarrer avec la tâche package universel consiste à utiliser l’éditeur de tâches Pipelines pour générer le yaML. Vous pouvez ensuite copier le code généré dans le fichier azure-pipelines.yml
de 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 GatsbyJS (PWA).
Les packages universels constituent un moyen utile d’encapsuler et de versionr une application web. L’empaquetage d’une application web dans un package universel permet une restauration rapide vers 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 package universel est utilisée pour télécharger l’outil, exécuter une build, puis utilise à nouveau la tâche package universel pour publier l’ensemble de la PWA GatsbyJS compilée dans un flux en tant que package universel versionné.
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 des images.
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.
Cliquez sur la tâche de de package universel nouvellement ajoutée et la commande pour
Download
.Choisissez le répertoire de destination à utiliser pour le téléchargement de l’outil.
Sélectionnez un de flux source qui contient l’outil, définissez le nom du package , puis choisissez version de l’outil imagemagick à partir de la de flux source.
Une fois les champs terminés, cliquez sur Afficher les YAML pour afficher le YAML généré.
Le générateur de tâches package universel génère un YAML simplifié qui contient des valeurs non par défaut. Copiez le YAML généré dans votre fichier
azure-pipelines.yml
à 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 produite par l’étape Run gatsby build
vers 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é sur le fournisseur d’hébergement et démarré avec gatsby serve
.
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 de
Run gatsby build
, produisent un package universel versionné et publient le package dans un flux.Définissez la de commande sur
Publish
.Définissez chemin d’accès aux fichiers pour publier des dans le répertoire contenant le
package.json
de votre projet GatsbyJS.Choisissez un flux de destination, un nom de package et définissez votre stratégie de gestion de version.
Une fois les champs obligatoires terminés, cliquez sur Afficher leYAML .
Copiez le YAML résultant dans votre fichier
azure-pipelines.yml
comme précédemment. L’exemple de projet YAML 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 montre comment utiliser le générateur de tâches Pipelines pour générer rapidement le YAML pour la tâche package universel, qui peut ensuite être placé dans votre fichier azure-pipelines.yml
. Le générateur de tâches package universel prend en charge toutes les configurations avancées qui peuvent être créées avec 'arguments du package universel tâche.
Remarque
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.
Spécifications
Besoin | Descriptif |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | N'importe quel |
variables settables | N'importe quel |
Version de l’agent | 2.144.0 ou version ultérieure |
Catégorie de tâche | Paquet |
Besoin | Descriptif |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | N'importe quel |
variables settables | N'importe quel |
Version de l’agent | 2.115.0 ou version ultérieure |
Catégorie de tâche | Paquet |