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
Crie no Azure DevOps uma organização e um projeto, caso ainda não tenha feito isso.
Crie um feed se você ainda não tiver um.
Baixe e instale o Gradle.
Instale o Java Development Kit (JDK) versão 8 ou superior.
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:
Entre em sua organização do Azure DevOps e navegue até o projeto.
Selecione Configurações do usuário e, em seguida, selecione Tokens de acesso pessoal.
Selecione Novo Token e preencha os campos obrigatórios. Certifique-se de selecionar o escopo de leitura e gravação de empacotamento>.
Selecione Criar quando terminar. Copie seu token e salve-o em um local seguro, pois você precisará dele para a próxima etapa.
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
Se um arquivo build.gradle não existir na raiz do seu projeto, crie um novo arquivo e nomeie-o: build.gradle.
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
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.
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
Execute o seguinte comando no diretório do projeto para publicar o pacote no feed:
gradle publish