Armazenar pacotes Java no Artifact Registry

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


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

Iniciar o Cloud Shell

Neste guia de início rápido, você vai usar o Cloud Shell, um ambiente de shell para gerenciar recursos hospedados no Google Cloud.

O Cloud Shell vem pré-instalado com o Google Cloud CLI e Java. A CLI gcloud fornece a linha de comando principal para o Google Cloud.

Inicie o Cloud Shell

  1. Acesse o Console do Google Cloud.

    Console do Google Cloud

  2. Na barra de ferramentas do console do Google Cloud, clique em Ativar o Cloud Shell:

Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use esse shell para executar comandos gcloud.

Criar um repositório de pacotes Java

Crie o repositório para seus artefatos Java.

  1. Crie o repositório:

Console

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

    Abrir a página Repositórios

  2. Clique em Criar repositório.

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

  4. Escolha Maven como o formato e Padrão como o modo.

  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 de pacotes Java no projeto atual chamado quickstart-java-repo no local us-central1.

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

    gcloud artifacts repositories list
    

    Para saber mais sobre os comandos do Artifact Registry, execute o comando gcloud artifacts.

Configure o Maven

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

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

    Este guia de início rápido pressupõe que seu projeto simples não tenha dependências parentais ou de plug-ins adicionais armazenadas no Artifact Registry. Para saber mais sobre como configurar um projeto Maven com dependências no Artifact Registry, consulte Como autenticar com um auxiliar de credenciais.

  2. Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-java-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-java-repo
    

    Para definir o local, execute o comando:

    gcloud config set artifacts/location us-central1
    

    Saiba mais sobre esses comandos na documentação do gcloud config set.

  3. Execute o comando a seguir para imprimir as configurações do repositório padrão quickstart-java-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-java-repo</url>
      </snapshotRepository>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url>
      </repository>
    </distributionManagement>
    
    <repositories>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-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.2.3</version>
        </extension>
      </extensions>
    </build>
    
  4. 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 saber mais 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>
    

Agora o projeto Maven pode fazer upload de pacotes para o repositório.

Configurar o Gradle

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

Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-java-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-java-repo

Para definir o local, execute o comando:

gcloud config set artifacts/location us-central1

Saiba mais sobre esses comandos na documentação do gcloud config set.

  1. Adicione configurações para conectar o repositório ao arquivo build.gradle. O comando a seguir imprime configurações para adicionar ao repositório quickstart-java-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.2.3"
          }
    
    publishing {
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo"
        }
      }
    }
    
    repositories {
      maven {
        url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo"
      }
    }
    
  2. Verifique se o arquivo build.gradle inclui uma publicações. nesta seção. Se não houver, adicione a seção ao arquivo build.gradle.

    A seção publications é filha de publishing, conforme mostrado neste exemplo:

    publishing {
      publications {
           mavenJava(MavenPublication) {
              groupId  'maven.example.id'
              from components.java
           }
      }
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-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 Google Cloud.

      Abrir a página Repositórios

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

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

    gcloud

    1. Para listar os pacotes do repositório quickstart-java-repo, execute o seguinte comando:

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

      A saída será semelhante a esta:

      Listing items under project <project-id>, location us-central1,\
      repository quickstart-java-repo.
      
      PACKAGE: maven.example.id:gradle-demo
      CREATE_TIME: 2022-01-20T22:46:07
      UPDATE_TIME: 2022-01-20T22:46:07
      

      Em que maven.example.id:gradle-demo é o ID do pacote.

      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.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, 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 Google Cloud.

    Abrir a página Repositórios

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

  3. Clique em Excluir.

gcloud

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

    gcloud artifacts repositories delete quickstart-java-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