Guia de início rápido do Maven e Gradle

Neste guia de início rápido, mostramos como configurar um repositório Maven do Artifact Registry e fazer upload de um pacote para ele.

O gerenciamento de pacotes está em Alfa. Ele só está disponível para usuários Alfa e pode não incluir todos os recursos disponíveis para o gerenciamento de contêineres. Para se inscrever no Alfa, preencha o formulário de inscrição.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a API Artifact Registry.

    Ative a API

  5. Instale e inicialize o SDK do Cloud..

Crie um repositório Maven

Crie o repositório para seus artefatos Java.

  1. Crie o repositório:

    Console

    1. Abra a página Repositórios no Console do Cloud.

      Abrir a página "Repositórios"

    2. Clique em Criar repositório.

    3. Especifique quickstart-maven-repo como o nome do repositório.

    4. Escolha Maven como o formato.

    5. Em Tipo de local, selecione Região e escolha o local us-central1.

    6. Clique em Criar.

    O repositório é adicionado à lista de repositórios.

    gcloud

    1. Execute o seguinte comando para criar um novo repositório Maven no projeto atual denominado quickstart-maven-repo no local us-central1.

      gcloud artifacts repositories create quickstart-maven-repo --repository-format=maven \
      --location=us-central1 [--description="Maven repository"]
      
    2. Execute o seguinte comando para verificar se o repositório foi criado:

      Lista de repositórios de artefatos da gcloud

    Para mais informações sobre os comandos do Artifact Registry, execute o comando gcloud artifacts.

  2. Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-maven-repo e o local padrão como us-central1. Depois que os valores forem definidos, não será necessário especificá-los nos comandos gcloud que exigem um repositório ou local.

    Para definir o repositório, execute o comando:

    gcloud config set artifacts/repository quickstart-maven-repo
    

    Para definir o local, execute o comando:

    gcloud config set artifacts/location us-central1
    

    Para mais informações sobre esses comandos, consulte a documentação do gcloud config set.

Configure uma conta de serviço para o cliente

  1. Crie uma conta de serviço para agir em nome do seu aplicativo ou escolha uma conta de serviço atual que você usa para automação.

    Você precisará do local do arquivo de chave da conta de serviço para configurar a autenticação com o Artifact Registry. Para contas existentes, é possível ver as chaves e criar novas chaves na página "Contas de serviço".

    Acessar a página "Contas de serviço"

  2. Conceda o acesso de leitura e gravação da conta de serviço ao seu repositório.

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-maven-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
    

    Em que ACCOUNT é o ID da conta de serviço no formato USERNAME@PROJECT-ID.iam.gserviceaccount.com.

  3. Atribua o local do arquivo de chave da conta de serviço à variável GOOGLE_APPLICATION_CREDENTIALS para que o auxiliar de credenciais do Artifact Registry possa conseguir sua chave ao se conectar com os repositórios.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    Em que KEY-FILE é o caminho para o arquivo de chave da conta de serviço.

    Para saber como configurar a autenticação por senha com o arquivo de chave da conta de serviço, consulte a documentação authentication#auth-password.

Configure o Maven

  1. Escolha um projeto Maven que você queira usar.

    Se você não tiver um projeto simples disponível, crie o projeto Maven em 5 minutos.

  2. Execute o comando a seguir para imprimir as configurações do repositório padrão quickstart-maven-repo.

    gcloud artifacts print-settings mvn
    

    A saída do comando gcloud é semelhante ao snippet a seguir, em que PROJECT é o ID do projeto.

    <distributionManagement>
      <snapshotRepository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </snapshotRepository>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </repository>
    </distributionManagement>
    
    <repositories>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </repository>
    </repositories>
    
    <build>
      <extensions>
        <extension>
          <groupId>com.google.cloud.artifactregistry</groupId>
          <artifactId>artifactregistry-maven-wagon</artifactId>
          <version>2.1.1</version>
        </extension>
      </extensions>
    </build>
    
  3. Adicione as configurações ao arquivo pom.xml do seu projeto do Maven. O esboço a seguir mostra a colocação relativa de cada elemento principal. Consulte a referência do POM do Maven para ver detalhes sobre a estrutura do arquivo.

    <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                          http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
      <!-- Build Settings -->
      <build>
        ...
        <extensions>...</extensions>
      </build>
    
      <!-- Environment Settings -->
      <repositories>...</repositories>
      <distributionManagement>...</distributionManagement>
    </project>
    

Configurar o Gradle

  1. Crie um projeto simples do Gradle para implantar um pacote no repositório do Artifact Registry que você criou. Se você não tem um build do Gradle de teste, siga o tutorial introdutório do Gradle para criar um build simples do Gradle.

  2. Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-maven-repo e o local padrão como us-central1. Depois que os valores forem definidos, não será necessário especificá-los nos comandos gcloud que exigem um repositório ou local.

    Para definir o repositório, execute o comando:

    gcloud config set artifacts/repository quickstart-maven-repo
    

    Para definir o local, execute o comando:

    gcloud config set artifacts/location us-central1
    

    Para mais informações sobre esses comandos, consulte a documentação do gcloud config set.

  3. Adicione configurações para se conectar ao repositório ao arquivo build.gradle. O comando a seguir imprime configurações para adicionar ao repositório quickstart-maven-repo padrão.

    gcloud artifacts print-settings gradle
    

    A saída do comando gcloud é semelhante ao exemplo a seguir, em que PROJECT é o ID do projeto.

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.1.1"
    }
    
    publishing {
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
        }
      }
    }
    
    repositories {
      maven {
        url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
      }
    }
    
  4. Verifique se o arquivo build.gradle inclui uma seção de publicações. A seção publications é filha de publishing, conforme mostrado no exemplo a seguir:

    publishing {
      publications {
           mavenJava(MavenPublication) {
              groupId  'maven.example.id'
              from components.java
           }
      }
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
        }
      }
    }
    

Também é possível adicionar a configuração do repositório aos arquivos init.gradle ou settings. Para detalhes sobre essas opções, consulte Como configurar a autenticação.

Faça upload de um pacote para o repositório

Para o Maven, use mvn deploy e mvn release para adicionar pacotes ao repositório.

Para Gradle, use o comando gradle publish para fazer upload de um pacote para o repositório.

Veja o pacote no repositório

Para verificar se o pacote foi adicionado ao repositório:

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página "Repositórios"

  2. Na lista de repositórios, clique no repositório quickstart-maven-repo.

    A página Pacotes lista os pacotes no repositório.

gcloud

Para listar os pacotes no repositório quickstart-maven-repo, execute o seguinte comando:

 gcloud artifacts packages list --repository=quickstart-maven-repo

Para ver as versões de um pacote, execute o seguinte comando:

gcloud artifacts versions list --package=PACKAGE

Em que PACKAGE é o ID do pacote.

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

Antes de remover o repositório, verifique se os pacotes que você quer manter estão disponíveis em outro local.

Para excluir o repositório:

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, selecione o repositório quickstart-maven-repo.

  3. Clique em Excluir.

gcloud

  1. Para excluir o repositório quickstart-maven-repo, execute o seguinte comando:

    gcloud artifacts repositories delete quickstart-maven-repo
    
  2. Se você quiser remover as configurações padrão de repositório e localização que definiu para a configuração ativa gcloud, execute os seguintes comandos:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

A seguir