Partilhar via


Publique artefatos com o Gradle

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

Com o Azure Artifacts, você pode gerenciar com eficiência suas dependências a partir de um único feed, armazenando vários tipos de pacotes em um só lugar. Os Artefatos do Azure permitem 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á como se conectar a um feed de Artefatos do Azure 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 a embalagem Ler & Escrever escopos:

  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.

    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 Packaging>Read & write .

  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 seu 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 seguinte seção ao seu arquivo build.gradle dentro dos contêineres de repositórios e publishing.repositores :

    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 seu arquivo build.gradle deve parecer:

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 inicial (~/.gradle/gradle.properties). Se o arquivo não existir, crie um novo.

  2. Adicione o seguinte trecho, substituindo os espaços reservados pelo nome do feed, nome da organização e o 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.