Compartilhar via


MavenAuthenticate@0 – Tarefa Maven Authenticate v0

Use essa tarefa para fornecer credenciais para feeds do Azure Artifacts e repositórios externos do Maven.

Sintaxe

# 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

feeds artifactsFeeds -
string.

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


mavenServiceConnections - Credenciais para repositórios fora desta organização/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 você precisar apenas de autenticação para feeds do Azure Artifacts, deixe esse campo em branco.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Especifica as credenciais para feeds do Azure Artifacts e repositórios externos do Maven no arquivo settings.xml do usuário atual.

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

A tarefa Maven Authenticate pesquisa o arquivo settings.xml no diretório base do usuário atual. Para Linux e Mac, o caminho é $HOME/.m2/settings.xml. Para o 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 de settings.xml. Como autenticar feeds do Azure Artifacts lá?

A tarefa Maven Authenticate não tem acesso ao arquivo de settings.xml personalizado especificado usando uma opção -s. Para adicionar a autenticação do Azure Artifacts ao settings.xmlpersonalizado, adicione um elemento de servidor dentro do arquivo 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 essas instruções .

Meu Pipeline precisa acessar um feed em um projeto diferente

Se o pipeline estiver em execução 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 build. Consulte permissões de pacote no Azure Pipelines para obter mais detalhes.

Exemplos

Autenticar feeds do Maven dentro de sua organização

Neste exemplo, autenticamos dois feeds do Azure Artifacts em 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 projeto com o mesmo <id> que o nome especificado na tarefa para Maven.

pom.xml

Feed com escopo do 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 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 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 do Maven fora da sua organização

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

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 projeto com o mesmo <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>

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.144.0 ou superior
Categoria de tarefa Pacote
Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.120.0 ou superior
Categoria de tarefa Pacote