Partager via


MavenAuthenticate@0 - Tâche Maven Authenticate 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

artifactsFeeds - Flux
string.

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


mavenServiceConnections - Informations d’identification pour les dépôts en dehors de cette organisation/collection
string.

Spécifie une liste séparée par des virgules des noms de connexion de service Maven provenant d’organisations externes à 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 des tâches

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.

Notes

Spécifie les informations d’identification pour les flux Azure Artifacts et les dépôts Maven externes dans le fichier de settings.xml l’utilisateur actuel.

Où se trouve le settings.xml fichier contenant les dépôts authentifiés ?

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

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

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

<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 build. 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 authentifient 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 MavenAuthenticate tâche met à jour le settings.xml fichier présent dans le répertoire .m2 de l’utilisateur de l’agent situé à pour {user.home}/.m2/settings.xml 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 dépôts de votre projet pom.xml sur le même <id> nom que celui spécifié dans la tâche pour Maven.

pom.xml

Flux étendu au 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 étendu à 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 Artefacts 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 organisation ne doit pas contenir le projet. En savoir plus sur les flux délimités par le projet.

Authentifier les flux Maven en dehors de votre organisation

Dans cet exemple, nous authentifient deux dépôts Maven externes.

Définition de tâche

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

La MavenAuthenticate tâche met à jour le settings.xml fichier présent dans le répertoire .m2 des utilisateurs de l’agent situé à pour {user.home}/.m2/settings.xml 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 dépôts de votre projet pom.xml sur le même <id> nom que celui 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

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 supérieur
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.120.0 ou supérieur
Catégorie de la tâche Package