Partager via


MavenAuthenticate@0 - Tâche Maven Authentifier v0

Utilisez cette tâche pour fournir des informations d’identification pour les flux Azure Artifacts et les dépôts Maven externes.

Syntaxe

# Maven Authenticate v0
# Provides credentials for Azure Artifacts feeds and external maven repositories.
- task: MavenAuthenticate@0
  inputs:
    #artifactsFeeds: # string. Feeds. 
    #mavenServiceConnections: # string. Credentials for repositories outside this organization/collection.

Entrées

flux de artifactsFeeds -
string.

Spécifie une liste séparée par des virgules des noms de flux Azure Artifacts pour s’authentifier auprès de Maven. Si vous avez uniquement besoin d’authentification pour les référentiels Maven externes, laissez ce champ vide.


mavenServiceConnections - Informations d’identification pour les référentiels en dehors de cette organisation/collection
string.

Spécifie une liste séparée par des virgules de connexion de service Maven noms d’organisations externes pour s’authentifier auprès de Maven. Si vous avez uniquement besoin d’authentification pour les flux Azure Artifacts, laissez ce champ vide.


Options de contrôle de tâche

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

Variables de sortie

Aucun.

Remarques

Spécifie les informations d’identification des flux Azure Artifacts et des référentiels Maven externes dans le fichier settings.xml de l’utilisateur actuel.

Où se trouve le fichier settings.xml contenant les référentiels authentifiés ?

La tâche d’authentification Maven recherche le fichier settings.xml dans le répertoire de base de l’utilisateur actuel. Pour Linux et Mac, le chemin d’accès est $HOME/.m2/settings.xml. Pour Windows, le chemin d’accès est %USERPROFILE%\.m2\settings.xml. Si le fichier settings.xml n’existe pas, un nouveau fichier est créé à ce chemin d’accès.

Nous utilisons le commutateur mvn -s pour spécifier notre propre fichier settings.xml. Comment authentifier les flux Azure Artifacts là-bas ?

La tâche d’authentification Maven n’a pas accès au fichier de settings.xml personnalisé spécifié à l’aide d’un commutateur -s. Pour ajouter l’authentification Azure Artifacts à votre settings.xmlpersonnalisée, ajoutez un élément serveur à l’intérieur de votre fichier settings.xml :

<server>
  <id>feedName</id> <!-- Set this to the id of the <repository> element inside your pom.xml file. -->
  <username>AzureDevOps</username>
  <password>${env.SYSTEM_ACCESSTOKEN}</password>
</server>

La variable de jeton d’accès peut être définie dans vos pipelines à l’aide de ces instructions .

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

Authentifier les flux Maven au sein de votre organisation

Dans cet exemple, nous authentifiez deux flux Azure Artifacts au sein de notre organisation.

Définition de tâche

- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    artifactsFeeds: MyFeedInOrg1,MyFeedInOrg2

La tâche MavenAuthenticate met à jour le fichier settings.xml présent dans le répertoire .m2 de l’utilisateur de l’agent situé à {user.home}/.m2/settings.xml pour ajouter deux entrées à l’intérieur de l’élément <servers>.

settings.xml

<servers>
  <server>
    <id>MyFeedInOrg1</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
  <server>
    <id>MyFeedInOrg2</id>
    <username>AzureDevOps</username>
    <password>****</password>
  </server>
</servers>

Pour authentifier correctement la tâche, définissez les référentiels dans le pom.xml de votre projet sur le même <id> que le nom spécifié dans la tâche pour Maven.

pom.xml

Flux délimité par le projet

 <repository>
   <id>MyFeedInOrg1</id>
   <url>https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/MyProjectScopedFeed1/Maven/v1</url>
   <releases>
     <enabled>true</enabled>
   </releases>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </repository>

Flux délimité par l’organisation

 <repository>
   <id>MyFeedInOrg1</id>
   <url>https://pkgs.dev.azure.com/OrganizationName/_packaging/MyOrgScopedFeed1/Maven/v1</url>
   <releases>
     <enabled>true</enabled>
   </releases>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </repository>

L’URL du flux Artifacts peut contenir ou non le projet. Une URL pour un flux d’étendue de projet doit contenir le projet et une URL pour un flux d’étendue de l’organisation ne doit pas contenir le projet. En savoir plus sur flux d’étendue de projet.

Authentifier les flux Maven en dehors de votre organisation

Dans cet exemple, nous authentifient deux référentiels Maven externes.

Définition de tâche

- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    MavenServiceConnections: central,MavenOrg

La tâche MavenAuthenticate met à jour le fichier settings.xml présent dans le répertoire .m2 des utilisateurs de l’agent situé à {user.home}/.m2/settings.xml pour ajouter deux entrées à l’intérieur de l’élément <servers>.

settings.xml

<servers>
  <server>
    <id>central</id>
    <username>centralUsername</username>
    <password>****</password>
  </server>
  <server>
    <id>MavenOrg</id>
    <username>mavenOrgUsername</username>
    <password>****</password>
  </server>
</servers>

Pour authentifier correctement la tâche, définissez les référentiels dans le pom.xml de votre projet sur le même <id> que le nom spécifié dans la tâche pour Maven.

pom.xml

<repository>
  <id>central</id>
  <url>https://repo1.maven.org/maven2/</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

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.120.0 ou version ultérieure
Catégorie de tâche Paquet