Partilhar via


MavenAuthenticate@0 - Maven Authenticate v0 task (Autenticar tarefa v0 do Maven)

Utilize esta tarefa para fornecer credenciais para feeds de Artefactos do Azure e repositórios externos do Maven.

Syntax

# 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

artifactsFeeds - Feeds
string.

Especifica uma lista separada por vírgulas de nomes de feed de Artefactos do Azure para autenticar com o Maven. Se só precisar de autenticação para repositórios externos do Maven, deixe este campo em branco.


mavenServiceConnections - Credenciais para repositórios fora desta organização/coleção
string.

Especifica uma lista separada por vírgulas de nomes de ligações de serviço do Maven de organizações externas para autenticar com o Maven. Se apenas precisar de autenticação para feeds de Artefactos do Azure, deixe este campo em branco.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das respetivas entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Especifica as credenciais para feeds de Artefactos do Azure e repositórios externos do Maven no ficheiro do settings.xml utilizador atual.

Onde está localizado o settings.xml ficheiro que contém os repositórios autenticados?

A tarefa Autenticar do Maven procura o settings.xml ficheiro no diretório raiz do utilizador atual. Para Linux e Mac, o caminho é $HOME/.m2/settings.xml. Para o Windows, o caminho é %USERPROFILE%\.m2\settings.xml. Se o settings.xml ficheiro não existir, será criado um novo nesse caminho.

Utilizamos o mvn -s comutador para especificar o nosso próprio settings.xml ficheiro. Como podemos autenticar feeds de Artefactos do Azure?

A tarefa Autenticar do Maven não tem acesso ao ficheiro personalizado settings.xml especificado através de um -s comutador. Para adicionar a autenticação dos Artefactos do Azure ao seu ficheiro personalizado settings.xml, adicione um elemento de servidor no seu settings.xml ficheiro:

<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 nos pipelines com estas instruções.

O Meu Pipeline precisa de aceder a um feed num projeto diferente

Se o pipeline estiver em execução num projeto diferente do projeto que aloja o feed, tem de configurar o outro projeto para conceder acesso de leitura/escrita ao serviço de compilação. Veja Permissões de pacotes nos Pipelines do Azure para obter mais detalhes.

Exemplos

Autenticar feeds maven na sua organização

Neste exemplo, autenticamos dois feeds de Artefactos do Azure na nossa organização.

Definição de tarefa

- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    artifactsFeeds: MyFeedInOrg1,MyFeedInOrg2

A MavenAuthenticate tarefa atualiza o settings.xml ficheiro presente no diretório .m2 do utilizador do agente localizado em {user.home}/.m2/settings.xml para adicionar duas entradas dentro do <servers> elemento.

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 projeto pom.xml para o mesmo <id> nome especificado na tarefa do Maven.

pom.xml

Feed com âmbito de projeto

 <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 no âmbito 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>

O URL do feed Artefactos pode ou não conter o projeto. Um URL para um feed com âmbito de projeto tem de conter o projeto e um URL para um feed com âmbito de organização não pode conter o projeto. Saiba mais sobre feeds com âmbito de projeto.

Autenticar feeds maven fora da sua organização

Neste exemplo, autenticamos dois repositórios externos do Maven.

Definição de tarefa

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

A MavenAuthenticate tarefa atualiza o settings.xml ficheiro presente no diretório .m2 dos utilizadores do agente localizado em {user.home}/.m2/settings.xml para adicionar duas entradas dentro do <servers> elemento.

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 projeto pom.xml para o mesmo <id> nome especificado na tarefa do 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 Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.144.0 ou superior
Categoria da tarefa Pacote
Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.120.0 ou superior
Categoria da tarefa Pacote