Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Utiliza esta tarea para proporcionar credenciales para feeds de Azure Artifacts y repositorios externos de Maven.
Sintaxis
# Maven Authenticate v0
# Provides credentials for Azure Artifacts feeds and external maven repositories.
- task: MavenAuthenticate@0
inputs:
#azureDevOpsServiceConnection: # string. Alias: workloadIdentityServiceConnection. 'Azure DevOps' Service Connection.
#artifactsFeeds: # string. Feeds.
#mavenServiceConnections: # string. Credentials for repositories outside this organization/collection.
# 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.
Entradas
azureDevOpsServiceConnection
-
'Azure DevOps' Conexión de Servicio
Alias de entrada: workloadIdentityServiceConnection.
string.
Esto es una conexión de servicio de usuario Azure DevOps respaldada por Entra Workload ID. Si esto se activa, la entrada mavenServiceConnections será ignorada.
de fuentes de artifactsFeeds -
string.
Especifica una lista separada por comas de nombres de alimentación de Azure Artifacts para autenticar con Maven. Si solo necesita autenticación para repositorios externos de Maven, deje este campo en blanco.
mavenServiceConnections
-
Credenciales para repositorios fuera de esta organización o colección
string.
Especifica una lista separada por comas de conexión de servicio maven nombres de organizaciones externas para autenticarse con Maven. Si solo necesitas autenticación para los feeds de Azure Artifacts, deja este campo en blanco.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
Especifica las credenciales para feeds Azure Artifacts y repositorios externos de Maven en el archivo settings.xml del usuario actual.
-
¿Dónde se encuentra el archivo
settings.xmlque contiene los repositorios autenticados? - Usamos el modificador
mvn -spara especificar nuestro propio archivosettings.xml. ¿Cómo autenticamos los feeds de Azure Artifacts allí? - Mi canalización debe acceder a una fuente en un proyecto diferente
¿Dónde se encuentra el archivo settings.xml que contiene los repositorios autenticados?
La tarea Autenticación de Maven busca el archivo settings.xml en el directorio principal del usuario actual. Para Linux y Mac, la ruta de acceso es $HOME/.m2/settings.xml. Para Windows, el camino es %USERPROFILE%\.m2\settings.xml. Si el archivo settings.xml no existe, se creará uno nuevo en esa ruta de acceso.
Usamos el modificador mvn -s para especificar nuestro propio archivo settings.xml. ¿Cómo autenticamos los feeds de Azure Artifacts allí?
La tarea Autenticación de Maven no tiene acceso al archivo de settings.xml personalizado especificado mediante un modificador de -s. Para añadir Azure Artifacts autenticación a tu settings.xml personalizado, añade un elemento de servidor dentro de tu archivo 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 token de acceso se puede establecer en las canalizaciones mediante estas instrucciones de .
Mi canalización debe acceder a una fuente en un proyecto diferente
Si la canalización se ejecuta en un proyecto diferente al que hospeda la fuente, debe configurar el otro proyecto para conceder acceso de lectura y escritura al servicio de compilación. Consulta
Ejemplos
- autenticar fuentes de Maven dentro de la organización
- autenticar fuentes de Maven fuera de la organización
Autenticación de fuentes de Maven dentro de la organización
En este ejemplo, autenticamos dos feeds de Azure Artifacts dentro de nuestra organización.
Definición de la tarea
- task: MavenAuthenticate@0
displayName: 'Maven Authenticate'
inputs:
artifactsFeeds: MyFeedInOrg1,MyFeedInOrg2
La tarea MavenAuthenticate actualiza el archivo settings.xml presente en el directorio .m2 del usuario del agente ubicado en {user.home}/.m2/settings.xml para agregar dos entradas dentro del elemento <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>
Para autenticar correctamente la tarea, establezca los repositorios en el pom.xml del proyecto en el mismo <id> que el nombre especificado en la tarea para Maven.
pom.xml
Feed con alcance del Project
<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>
Fuente con ámbito de la organización
<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>
La dirección URL de fuente de artefactos puede contener o no el proyecto. Una dirección URL de una fuente con ámbito de proyecto debe contener el proyecto y una dirección URL para una fuente con ámbito de organización no debe contener el proyecto. Obtenga más información sobre fuentes con ámbito de proyecto.
Autenticación de fuentes de Maven fuera de la organización
En este ejemplo, autenticamos dos repositorios externos de Maven.
Definición de la tarea
- task: MavenAuthenticate@0
displayName: 'Maven Authenticate'
inputs:
MavenServiceConnections: central,MavenOrg
La tarea MavenAuthenticate actualiza el archivo settings.xml presente en el directorio .m2 de los usuarios del agente ubicado en {user.home}/.m2/settings.xml para agregar dos entradas dentro del elemento <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>
Para autenticar correctamente la tarea, establezca los repositorios en el pom.xml del proyecto en el mismo <id> que el nombre especificado en la tarea para 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>
Requisitos
| Requisito | Descripción |
|---|---|
| Tipos de canalización | YAML, compilación clásica, versión clásica |
| Se ejecuta en | Agente, DeploymentGroup |
| demandas | Ninguno |
| funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
| restricciones de comandos | Cualquiera |
| variables settable | Cualquiera |
| Versión del agente | 2.144.0 o superior |
| Categoría de tarea | Paquete |
| Requisito | Descripción |
|---|---|
| Tipos de canalización | YAML, compilación clásica, versión clásica |
| Se ejecuta en | Agente, DeploymentGroup |
| demandas | Ninguno |
| funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
| restricciones de comandos | Cualquiera |
| variables settable | Cualquiera |
| Versión del agente | 2.120.0 o superior |
| Categoría de tarea | Paquete |