Publicar artefatos do Maven usando o Gradle

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Neste artigo, você aprenderá como se conectar a um feed do Azure Artifacts e publicar artefatos Maven usando o Gradle.

Pré-requisitos

Configuração do projeto

Antes de configurar seu projeto, certifique-se de ter instalado o Gradle e adicionado o plug-in Maven Settings ao seu arquivo build.gradle da seguinte maneira:

plugins {
  id "net.linguica.maven-settings" version "0.5"
}

Criar um token de acesso pessoal

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

  2. Selecione Configurações do usuário e, em seguida, selecione Tokens de acesso pessoais.

    Captura de ecrã a mostrar como criar um token de acesso pessoal

  3. Selecione Novo Token e preencha os campos obrigatórios. Certifique-se de selecionar o escopo Packaging>Read & write.

  4. Selecione Criar quando terminar. Copie seu token e salve-o em um local seguro.

    Captura de tela mostrando como criar um novo token de acesso pessoal com escopos de leitura e gravação de empacotamento.

Configurar build.gradle

  1. Se um arquivo build.gradle não existir na raiz do seu projeto, crie um novo arquivo e nomeie-o: build.gradle.

  2. Adicione a seção a seguir ao seu arquivo build.gradle nos contêineres de repositórios e publishing.repositores .

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        authentication {
            basic(BasicAuthentication)
        }
    }
    
  3. Aqui está um exemplo de como seu arquivo build.gradle deve parecer:

    publishing { 
        publications { 
            myPublication(MavenPublication) { 
                groupId '<GROUP_ID>' 
                artifactId '<ARTIFACT_ID>' 
                version '<VERSION_NUMBER>'           
                artifact '<PATH_TO_YOUR_JAR_FILE>'   
            } 
        } 
    
        // Repositories to publish artifacts 
        repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
        } 
    } 
    
    // Repositories to fetch dependencies
    repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
    } 
    

Configurar settings.xml

  1. Abra o arquivo settings.xml no diretório inicial e adicione o seguinte trecho. Substitua os espaços reservados pelo nome do feed, nome da organização e o token de acesso pessoal criado anteriormente.

    <server>
        <id>[FEED_NAME]</id>
        <username>[ORGANIZATION_NAME]</username>
        <password>[PERSONAL_ACCESS_TOKEN]</password>
    </server>
    

Publicar artefatos

Execute o seguinte comando em um prompt de comando elevado para publicar seu pacote no feed. Seu novo pacote será nomeado: groupId:artifactId.

gradle publish