Compartilhar via


Publicar artefatos com o Gradle

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Com o Azure Artifacts, você pode gerenciar com eficiência suas dependências de um único feed, armazenando vários tipos de pacotes em um só lugar. O Azure Artifacts permite que os desenvolvedores publiquem e consumam pacotes de diferentes fontes e os compartilhem de acordo com as configurações de visibilidade do feed. Neste artigo, você aprenderá a se conectar a um feed do Azure Artifacts e publicar seus pacotes usando o Gradle.

Pré-requisitos

Criar um token de acesso pessoal

Para autenticar com seu feed, você deve primeiro criar um token de acesso pessoal com escopos de leitura e gravação de empacotamento:

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

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

    Uma captura de tela mostrando como localizar o botão de token de acesso pessoal.

  3. Selecione Novo Token e preencha os campos obrigatórios. Certifique-se de selecionar o escopo de leitura e gravação de empacotamento>.

  4. Selecione Criar quando terminar. Copie seu token e salve-o em um local seguro, pois você precisará dele para a próxima etapa.

    Uma captura de tela demonstrando como criar um novo token de acesso pessoal com escopos de leitura e gravação de empacotamento.

Configuração do projeto

Antes de configurar seu projeto, verifique se o Gradle está instalado e se você adicionou o plug-in Maven Settings ao arquivo build.gradle da seguinte maneira:

plugins {
  id 'maven-publish'
}

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 arquivo build.gradle nos contêineres repositories e publishing.repositories:

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'            //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
        }
    }
    

Aqui está um exemplo de como deve ser a aparência do arquivo build.gradle :

repositories {
    mavenCentral()

    maven {
    url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'                //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
    name '<FEED_NAME>'
    credentials(PasswordCredentials)
    authentication {
        basic(BasicAuthentication)
        }
    }
}

publishing {
    publications {
        library(MavenPublication) {
            from components.java
        }
    }

    repositories {
        maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'           //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
            }
        }
    }
}

Configurar gradle.properties

  1. Abra o arquivo gradle.properties localizado no diretório .gradle da sua pasta pessoal (~/.gradle/gradle.properties). Se o arquivo não existir, crie um novo.

  2. Adicione o snippet a seguir, substituindo os espaços reservados pelo nome do feed, nome da organização e token de acesso pessoal criado anteriormente.

    # Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle.
    # The value of the username is arbitrary but should not be blank.
    [FEED_NAME]Username=[ORGANIZATION_NAME]
    [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
    

Publique seus pacotes

  1. Execute o seguinte comando no diretório do projeto para publicar o pacote no feed:

    gradle publish
    

Uma captura de tela exibindo um pacote publicado com êxito no feed.