Armazenar pacotes Java no Artifact Registry

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


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

Orientações


Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Funções exigidas

Para receber as permissões necessárias para criar e gerenciar repositórios de pacotes Java do Artifact Registry, peça ao administrador para conceder a você o papel do IAM de Administrador do Artifact Registry (roles/artifactregistry.admin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.

Iniciar o Cloud Shell

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

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

Inicie o Cloud Shell

  1. Acesse o Google Cloud console do.

    Google Cloud Console

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

Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console do Google Cloud. 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 Google Cloud console.

    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 Standard 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 projeto Maven em 5 minutos.

    Este guia de início rápido pressupõe que seu projeto simples não tenha dependências de plug-in ou pai adicionais armazenadas no Artifact Registry. Para detalhes sobre como configurar um projeto Maven com dependências no Artifact Registry, consulte Autenticação 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.5</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 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>
    

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

Configurar o Gradle

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.

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 padrão quickstart-java-repo.

    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.5"
          }
    
    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 seção de publicações. Se não houver, adicione a seção ao arquivo build.gradle.

    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-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 Google Cloud console.

      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.

Liberar espaço

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

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 Google Cloud console.

    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