Remarque
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 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.xmlcontenant les référentiels authentifiés ? - Nous utilisons le commutateur
mvn -spour spécifier notre propre fichiersettings.xml. Comment authentifier les flux Azure Artifacts là-bas ? - Mon pipeline doit accéder à un flux dans un autre projet
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
- Authentifier les flux Maven en dehors de votre organisation
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 |