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 ? - Nous utilisons le
mvn -s
commutateur pour spécifier notre propresettings.xml
fichier. Comment authentifier les flux Azure Artifacts là-bas ? - Mon pipeline doit accéder à un flux dans un autre projet
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
- Authentifier les flux Maven en dehors de votre organisation
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 |