Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use esta tarefa para fornecer credenciais para feeds do Artefactos do Azure e repositórios Maven externos.
Sintaxe
# 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.
Insumos
azureDevOpsServiceConnection
-
'Azure DevOps' Ligação ao Serviço
Alias de entrada: workloadIdentityServiceConnection.
string.
Este é um Azure DevOps User Service Connection apoiado pelo Entra Workload ID. Se isto estiver definido, a entrada mavenServiceConnections será ignorada.
artifactsFeeds
-
Alimentação
string.
Especifica uma lista separada por vírgulas dos nomes de feed do Artefactos do Azure para autenticar com o Maven. Se você só precisar de autenticação para repositórios Maven externos, deixe este campo em branco.
mavenServiceConnections
-
Credenciais para repositórios fora desta organização/ de coleção
string.
Especifica uma lista separada por vírgulas de conexão de serviço Maven nomes de organizações externas para autenticar com o Maven. Se só precisar de autenticação para os feeds do Artefactos do Azure, deixe este campo em branco.
Opções de controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Nenhum.
Observações
Especifica as credenciais para feeds Artefactos do Azure e repositórios Maven externos no ficheiro settings.xml do utilizador atual.
-
Onde está localizado o arquivo
settings.xmlque contém os repositórios autenticados? - Usamos a opção
mvn -spara especificar nosso próprio arquivosettings.xml. Como autenticamos os feeds do Artefactos do Azure aí? - Meu Pipeline precisa acessar um feed em um projeto diferente
Onde está localizado o arquivo settings.xml que contém os repositórios autenticados?
A tarefa Maven Authenticate procura o arquivo settings.xml no diretório inicial do usuário atual. Para Linux e Mac, o caminho é $HOME/.m2/settings.xml. Para Windows, o caminho é %USERPROFILE%\.m2\settings.xml. Se o arquivo settings.xml não existir, um novo será criado nesse caminho.
Usamos a opção mvn -s para especificar nosso próprio arquivo settings.xml. Como autenticamos os feeds do Artefactos do Azure aí?
A tarefa Maven Authenticate não tem acesso ao arquivo de settings.xml personalizado especificado usando uma opção -s. Para adicionar autenticação Artefactos do Azure ao seu settings.xml personalizado, adicione um elemento servidor dentro do seu ficheiro 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>
A variável de token de acesso pode ser definida em seus pipelines usando estas instruções .
Meu pipeline precisa acessar um feed em um projeto diferente
Se o pipeline estiver sendo executado em um projeto diferente do projeto que hospeda o feed, você deverá configurar o outro projeto para conceder acesso de leitura/gravação ao serviço de compilação. Consulte permissões Package em Azure Pipelines para mais detalhes.
Exemplos
- Autenticar feeds do Maven dentro do da sua organização
- Autenticar feeds Maven fora da sua organização
Autenticar feeds Maven dentro da sua organização
Neste exemplo, autenticamos dois feeds Artefactos do Azure dentro da nossa organização.
Definição de tarefas
- task: MavenAuthenticate@0
displayName: 'Maven Authenticate'
inputs:
artifactsFeeds: MyFeedInOrg1,MyFeedInOrg2
A tarefa MavenAuthenticate atualiza o arquivo settings.xml presente no diretório .m2 do usuário do agente localizado em {user.home}/.m2/settings.xml para adicionar duas entradas dentro do 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 corretamente a tarefa, defina os repositórios no pom.xml do seu projeto para a mesma <id> que o nome especificado na tarefa para Maven.
pom.xml
Feed com âmbito do 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>
Feed com escopo da organização
<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>
A URL do feed de artefatos pode ou não conter o projeto. Uma URL para um feed com escopo de projeto deve conter o projeto e uma URL para um feed com escopo da organização não deve conter o projeto. Saiba mais sobre feeds com escopo de projeto.
Autenticar feeds Maven fora da sua organização
Neste exemplo, autenticamos dois repositórios Maven externos.
Definição de tarefas
- task: MavenAuthenticate@0
displayName: 'Maven Authenticate'
inputs:
MavenServiceConnections: central,MavenOrg
A tarefa MavenAuthenticate atualiza o arquivo settings.xml presente no diretório .m2 dos usuários do agente localizado em {user.home}/.m2/settings.xml para adicionar duas entradas dentro do 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 corretamente a tarefa, defina os repositórios no pom.xml do seu projeto para a mesma <id> que o nome especificado na tarefa 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>
Requerimentos
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, Construção clássica, Versão clássica |
| Funciona em | Agente, DeploymentGroup |
| Exigências | Nenhum |
| Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
| Restrições de comando | Qualquer |
| Variáveis configuráveis | Qualquer |
| Versão do agente | 2.144.0 ou superior |
| Categoria de tarefa | Embalagem |
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, Construção clássica, Versão clássica |
| Funciona em | Agente, DeploymentGroup |
| Exigências | Nenhum |
| Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
| Restrições de comando | Qualquer |
| Variáveis configuráveis | Qualquer |
| Versão do agente | 2.120.0 ou superior |
| Categoria de tarefa | Embalagem |