Almacenar paquetes de Java en Artifact Registry

En esta guía de inicio rápido se muestra cómo configurar un repositorio Maven de Artifact Registry privado y subir un paquete a él.


Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haz clic en Ayúdame:

Guíame


Antes de empezar

  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. Verify 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. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

  8. Abrir Cloud Shell

    En esta guía de inicio rápido, usarás Cloud Shell, un entorno de shell para gestionar recursos alojados enGoogle Cloud.

    Cloud Shell tiene preinstaladas la CLI de Google Cloud y Java. La CLI de gcloud proporciona la interfaz de línea de comandos principal de Google Cloud.

    Abre Cloud Shell:

    1. Ve a la Google Cloud consola.

      Google Cloud console

    2. En la barra de herramientas de la consola Google Cloud , haz clic en Activar Cloud Shell: .

    Se abrirá una sesión de Cloud Shell en un marco de la parte inferior de la consola. Esta shell se usa para ejecutar comandos gcloud.

    Crear un repositorio de paquetes de Java

    Crea el repositorio de tus artefactos Java.

    1. Crea el repositorio:

    Consola

    1. Abre la página Repositorios en la consola de Google Cloud .

      Abre la página Repositorios.

    2. Haz clic en Crear repositorio.

    3. Especifica quickstart-java-repo como nombre del repositorio.

    4. Elige Maven como formato y Estándar como modo.

    5. En Tipo de ubicación, selecciona Región y, a continuación, elige la ubicación. us-central1

    6. Haz clic en Crear.

      El repositorio se añade a la lista de repositorios.

    gcloud

    1. Ejecuta el siguiente comando para crear un repositorio de paquetes de Java en el proyecto actual llamado quickstart-java-repo en la ubicación us-central1.

      gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \
      --location=us-central1 --description="Java package repository"
      
    2. Ejecuta el siguiente comando para verificar que se ha creado el repositorio:

      gcloud artifacts repositories list
      

      Para obtener más información sobre los comandos de Artifact Registry, ejecuta el comando gcloud artifacts.

    Configurar Maven

    1. Elige un proyecto Maven sencillo que quieras usar.

      Si no tienes ningún proyecto sencillo, puedes crear el proyecto Maven en 5 minutos.

      En esta guía de inicio rápido se da por hecho que tu proyecto sencillo no tiene dependencias de complementos ni de elementos principales adicionales almacenadas en Artifact Registry. Para obtener más información sobre cómo configurar un proyecto de Maven con dependencias en Artifact Registry, consulta el artículo Autenticarse con un auxiliar de credenciales.

    2. Para simplificar los comandos de gcloud, define el repositorio predeterminado como quickstart-java-repo y la ubicación predeterminada como us-central1. Una vez definidos los valores, no es necesario especificarlos en los comandos gcloud que requieran un repositorio o una ubicación.

      Para definir el repositorio, ejecuta el comando:

      gcloud config set artifacts/repository quickstart-java-repo
      

      Para definir la ubicación, ejecuta el comando:

      gcloud config set artifacts/location us-central1
      

      Para obtener más información sobre estos comandos, consulta la documentación de gcloud config set.

    3. Ejecuta el siguiente comando para imprimir la configuración del repositorio quickstart-java-repopredeterminado.

      gcloud artifacts print-settings mvn
      

      El resultado del comando gcloud tiene el siguiente aspecto, donde PROJECT es el ID de tu proyecto.

      <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. Añade los ajustes al archivo pom.xml de tu proyecto de Maven. El siguiente esquema muestra la colocación relativa de cada elemento principal. Consulta la referencia de POM de Maven para obtener más información sobre la estructura del archivo.

      <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>
      

    Ahora tu proyecto Maven puede subir paquetes a tu repositorio.

    Configurar Gradle

    Crea un proyecto de Gradle sencillo para desplegar un paquete en el repositorio de Artifact Registry que has creado. Si no tienes una compilación de Gradle de prueba, puedes seguir el tutorial de introducción a Gradle para crear una compilación sencilla.

    Para simplificar los comandos de gcloud, define el repositorio predeterminado como quickstart-java-repo y la ubicación predeterminada como us-central1. Una vez definidos los valores, no es necesario especificarlos en los comandos gcloud que requieran un repositorio o una ubicación.

    Para definir el repositorio, ejecuta el comando:

    gcloud config set artifacts/repository quickstart-java-repo
    

    Para definir la ubicación, ejecuta el comando:

    gcloud config set artifacts/location us-central1
    

    Para obtener más información sobre estos comandos, consulta la documentación de gcloud config set.

    1. Añade ajustes para conectar el repositorio al archivo build.gradle. El siguiente comando imprime los ajustes que se deben añadir al repositorio quickstart-java-repo predeterminado.

      gcloud artifacts print-settings gradle
      

      El resultado del comando gcloud es similar al siguiente ejemplo, donde PROJECT es el ID de tu proyecto.

      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. Comprueba que el archivo build.gradle incluya una sección publications. Si no es así, añádela al archivo build.gradle.

      La sección publications es un elemento secundario de publishing, tal como se muestra en el siguiente ejemplo:

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

      También puedes añadir la configuración del repositorio a tus archivos init.gradle o settings. Para obtener más información sobre estas opciones, consulta Configurar la autenticación.

      Subir un paquete al repositorio

      En Maven, puedes usar mvn deploy y mvn release para añadir paquetes al repositorio.

      En Gradle, usa el comando gradle publish para subir un paquete al repositorio.

      Ver el paquete en el repositorio

      Para verificar que el paquete se ha añadido al repositorio, sigue estos pasos:

      Consola

      1. Abre la página Repositorios en la consola de Google Cloud .

        Abre la página Repositorios.

      2. En la lista de repositorios, haga clic en el repositorio quickstart-java-repo.

        En la página Paquetes se muestran los paquetes del repositorio.

      gcloud

      1. Para enumerar los paquetes del repositorio quickstart-java-repo, ejecuta el siguiente comando:

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

        La salida será similar a la siguiente:

        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
        

        donde maven.example.id:gradle-demo es el ID del paquete.

        Para ver las versiones de un paquete, ejecuta el siguiente comando:

        gcloud artifacts versions list --package=PACKAGE
        

        Donde PACKAGE es el ID del paquete.

    Limpieza

    Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.

    Antes de quitar el repositorio, asegúrate de que los paquetes que quieras conservar estén disponibles en otra ubicación.

    Para eliminar el repositorio, sigue estos pasos:

    Consola

    1. Abre la página Repositorios en la consola de Google Cloud .

      Abre la página Repositorios.

    2. En la lista de repositorios, selecciona el repositorio quickstart-java-repo.

    3. Haz clic en Eliminar.

    gcloud

    1. Para eliminar el repositorio quickstart-java-repo, ejecuta el siguiente comando:

      gcloud artifacts repositories delete quickstart-java-repo
      
    2. Si quieres quitar los ajustes predeterminados de repositorio y ubicación que has configurado para la configuración gcloud activa, ejecuta los siguientes comandos:

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

    Siguientes pasos