Compartilhar via


Perguntas frequentes: publicar artefatos do Maven com o Azure Pipelines (YAML/Clássico)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

O Azure Pipelines permite que os desenvolvedores publiquem artefatos do Maven nos feeds do Azure Artifacts na mesma organização, em outras organizações e em registros públicos, como o Maven Central. Este artigo guiará você na publicação de seus artefatos Maven usando pipelines YAML e Classic.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização do Azure DevOps e um projeto.
- Um feed do Azure Artifacts.
- Um pipeline funcional.
- Permissões:
    – Para conceder acesso a todos os pipelines do projeto, você deve ser membro do grupo Administradores do Projeto.
    – Para criar conexões de serviço, você deve ter a função Administrador ou a função Criador para conexões de serviço.

Publicar pacotes em um feed na mesma organização

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.
  1. Entre na sua coleção do Azure DevOps e navegue até seu projeto.
  1. Selecione Pipelines e, em seguida, selecione a definição do pipeline.
  1. Selecione Editar e adicione o seguinte snippet ao pipeline do YAML:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        artifactsFeeds: 'MavenDemo,MavenDemoFeed2'        ## Select one or multiple feeds to authenticate with.
    - script: |
       mvn deploy
      displayName: 'Publish'
    

Observação

Para publicar pacotes em um feed usando o Azure Pipelines, o Serviço de build de coleção de projetos e as identidades do Serviço de build do seu projeto devem ter a função Publicador de feed (colaborador) atribuída nas suas configurações de feed. Consulte Gerenciar permissões para obter mais detalhes.

Publicar pacotes em um feed em uma organização diferente

Para publicar pacotes em um feed em uma organização diferente do Azure DevOps, primeiro você deve criar um PAT (token de acesso pessoal) na organização de destino e, em seguida, usar esse PAT para criar uma conexão de serviço e autenticar com o feed de destino.

Criar um token de acesso pessoal

  1. Navegue até a organização que hospeda o feed de destino.

  2. Criar um token de acesso pessoal com escopo de empacotamento de>leitura & gravação.

  3. Copie seu token de acesso pessoal, pois você precisará dele na seção a seguir.

Criar uma conexão de serviço

  1. Faça logon na organização do Azure DevOps em que o pipeline será executado e navegue até o projeto.

  2. Navegue até as configurações do Project Conexões> de serviço.

  3. Selecione Nova conexão de serviço e, selecione Maven, em seguida, selecione Próximo.

  4. Para o método de Autenticação, selecione Nome de usuário e senha. Insira a URL do Repositório e a ID do Repositório.

  5. No campo Nome de usuário , insira qualquer valor de cadeia de caracteres (isso é necessário, mas o Azure Pipelines usará sua pom.xml configuração e o token de acesso pessoal criado anteriormente para autenticação).

    • Para Senha, cole o token de acesso pessoal criado anteriormente.
    • Forneça um nome para sua conexão de serviço.
    • Marque a caixa de seleção Conceder acesso a todos os pipelines.
  6. Selecione Salvar ao terminar.

Publicar pacotes

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines e, em seguida, selecione a definição do pipeline.

  3. Selecione Editar e adicione o seguinte snippet ao pipeline do YAML:

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> 
    
    - script: |
       mvn deploy
      displayName: 'Publish'