Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Protege las compilaciones de contenedores

Lab 10 minutos universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

GSP1185

Labs de autoaprendizaje de Google Cloud

Descripción general

Artifact Registry te permite almacenar diferentes tipos de artefactos, crear varios repositorios en un solo proyecto y asociar una región específica o una multirregión a cada repositorio. Existen varios modos de repositorio y cada uno tiene un propósito diferente. En el siguiente diagrama, se muestra una de las muchas formas en que puedes usar repositorios en diferentes modos juntos. El diagrama muestra un flujo de trabajo en dos proyectos de Google Cloud. En un proyecto de desarrollo, los desarrolladores crean una aplicación de Java. En un proyecto de entorno de ejecución independiente, otra compilación crea una imagen de contenedor con la app para la implementación en Google Kubernetes Engine.

diagrama de modos

En este lab, aprenderás a realizar las siguientes tareas:

  • Usar repositorios estándar para implementar tus paquetes privados
  • Usar repositorios remotos para almacenar en caché paquetes centrales de Maven
  • Usar repositorios virtuales para combinar varios repos upstream en una configuración

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

En este lab práctico, se te proporcionarán credenciales temporales nuevas para acceder a Google Cloud y realizar las actividades en un entorno de nube real, no en uno de simulación o demostración.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón Abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses tus credenciales de cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda. Ícono del menú de navegación

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.

Configuración del espacio de trabajo

  1. En Cloud Shell, establece el ID y número del proyecto. Guárdalos como variables PROJECT_ID y PROJECT_NUMBER:
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
  1. Habilita la API de Artifact Registry:
gcloud services enable artifactregistry.googleapis.com
  1. Clona el repo necesario para este lab y, luego, ve al directorio container-analysis:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples cd java-docs-samples/container-registry/container-analysis

Tarea 1: Repositorios estándar

Los repositorios estándar ofrecen una forma de almacenar tus paquetes privados y compartirlos en tus otras aplicaciones.

  1. Ejecuta el siguiente comando para crear un repositorio estándar de Maven para artefactos de Java:
gcloud artifacts repositories create container-dev-java-repo \ --repository-format=maven \ --location=us-central1 \ --description="Java package repository for Container Dev Workshop"

Haz clic en Autorizar si aparece la solicitud de autorización de Cloud Shell.

  1. En la consola de Cloud, ve a Artifact Registry > Repositorios y observa tu repositorio de Maven recién creado con el nombre container-dev-java-repo. Si haces clic en él, verás que está vacío por el momento.

  2. Revisa el repo en la terminal:

gcloud artifacts repositories describe container-dev-java-repo \ --location=us-central1

Debería devolver una respuesta similar a la siguiente:

Encryption: Google-managed key Repository Size: 0.000MB createTime: '2023-03-21T19:01:45.461589Z' description: Java package repository for Container Dev Workshop format: MAVEN mavenConfig: {} mode: STANDARD_REPOSITORY name: projects/qwiklabs-gcp-03-4304110dc461/locations/us-central1/repositories/container-dev-java-repo updateTime: '2023-03-21T19:01:45.461589Z'

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un repositorio estándar de Maven

Tarea 2: Configura Maven para Artifact Registry

  1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java:
gcloud artifacts print-settings mvn \ --repository=container-dev-java-repo \ --location=us-central1

El comando anterior devuelve XML para agregarlo al archivo pom.xml de tus proyectos.

  • En la sección repositories, se especifica en qué lugares Maven puede descargar artefactos remotos para que los use el proyecto actual.
  • En la sección distributionManagement, se especifica a qué repositorio remoto enviará datos el proyecto cuando se implemente.
  • En la sección extensions, se agrega artifactregistry-maven-wagon, que habilita la capa de autenticación y transporte necesaria para conectarse a Artifact Registry.
  • Nota: Las extensiones pueden existir en pom.xml o extensions.xml. En los casos en que el proyecto depende de un proyecto superior, se accede a esas dependencias antes de que se carguen el resto de las entradas en el archivo pom.xml. Para garantizar que el proyecto superior tenga acceso a la extensión, se puede colocar en un archivo extensions.xml que se carga antes del archivo pom.xml, lo que lo pone a disposición de las dependencias del proyecto superior.
  1. Ejecuta el siguiente comando en Cloud Shell para abrir el Editor en el directorio actual:
cloudshell workspace .
  1. Copia las tres secciones, abre el archivo pom.xml en el Editor de Cloud Shell y agrega la configuración devuelta en la parte inferior del archivo, justo dentro de la etiqueta de cierre project.

Ejemplo (los nombres de tus proyectos serán diferentes en las URLs):

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-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.0</version> </extension> </extensions> </build> </project>

Con Artifact Registry configurado en Maven, ahora puedes usar Artifact Registry para almacenar archivos JAR de Java y usarlos en otros proyectos de tu organización.

  1. Ejecuta el siguiente comando para subir tu paquete de Java a Artifact Registry:
mvn deploy -DskipTests

Si quieres volver a ejecutar este comando, asegúrate de aumentar la versión en el archivo pom.xml.

  1. En la consola de Cloud, ve a Artifact Registry > Repositorios. Haz clic en container-dev-java-repo y verifica que el artefacto binario hello-world esté allí:
Detalles del repositorio de Artifact Registry

Tarea 3: Repositorios remotos

Los repositorios remotos ofrecen la capacidad de almacenar en caché paquetes de terceros para aumentar la confiabilidad y la seguridad.

  1. Ejecuta el siguiente comando para crear un repositorio remoto para los artefactos de Maven Central:
gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. En la consola de Cloud, ve a Artifact Registry > Repositorios. Haz clic en el repositorio maven-central-cache y observa que se creó y actualmente está vacío.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un repositorio remoto

  1. Revisa el repo en la terminal:
gcloud artifacts repositories describe maven-central-cache \ --location=us-central1
  1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java:
gcloud artifacts print-settings mvn \ --repository=maven-central-cache \ --location=us-central1
  1. Agrega la sección del repositorio a tu archivo pom.xml. Asegúrate de no copiar la etiqueta <repositories> externa del resultado.

  2. Cambia el ID del repositorio recién agregado a "central" para garantizar que cada entrada del repositorio tenga un ID único.

Ejemplo (los nombres de tus proyectos serán diferentes en las URLs):

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>central</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/maven-central-cache</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.0</version> </extension> </extensions> </build> </project>
  1. Ejecuta los siguientes comandos en tu terminal para crear un archivo extensions.xml para tu proyecto y usar el mecanismo de extensiones principales, lo que garantiza que Maven pueda resolver las dependencias superiores o de complementos de Artifact Registry.
mkdir .mvn cat > .mvn/extensions.xml << EOF <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd"> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> EOF
  1. Ejecuta el siguiente comando para compilar tu aplicación con el repositorio remoto:
rm -rf ~/.m2/repository mvn compile
  1. En la consola de Cloud, ve a Artifact Registry > Repositorios. Haz clic en maven-central-cache y verifica que los artefactos binarios estén almacenados en caché allí:
Detalles del repositorio de Artifact Registry

Tarea 4: Repositorios virtuales

Los repositorios virtuales actúan como una interfaz para que se pueda acceder a varios repositorios a través de una sola configuración. Esto simplifica la configuración de cliente para los consumidores de tus artefactos y aumenta la seguridad mitigando los ataques de confusión de dependencias.

  1. Crea un archivo de política
cat > ./policy.json << EOF [ { "id": "private", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/container-dev-java-repo", "priority": 100 }, { "id": "central", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/maven-central-cache", "priority": 80 } ] EOF
  1. Crea el repositorio virtual
gcloud artifacts repositories create virtual-maven-repo \ --project=${PROJECT_ID} \ --repository-format=maven \ --mode=virtual-repository \ --location=us-central1 \ --description="Virtual Maven Repo" \ --upstream-policy-file=./policy.json

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un repositorio virtual

  1. Ejecuta el siguiente comando para imprimir la configuración del repositorio que deseas agregar a tu proyecto de Java:
gcloud artifacts print-settings mvn \ --repository=virtual-maven-repo \ --location=us-central1
  1. Reemplaza toda la sección de repositorios en tu archivo POM por la sección de repositorios virtuales del resultado.

Ejemplo (los nombres de tus proyectos serán diferentes en las URLs):

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/virtual-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.2.0</version> </extension> </extensions> </build> </project>

Extrae dependencias del repositorio virtual

Como el repositorio virtual es un paso intermedio y no almacenará ningún paquete real, para demostrar claramente el proceso, deberás borrar el repo maven-central-cache que creaste antes y volver a crearlo para empezar de nuevo con un repositorio vacío.

  1. Ejecuta los siguientes comandos para volver a crear el repositorio de caché
gcloud artifacts repositories delete maven-central-cache \ --project=$PROJECT_ID \ --location=us-central1 \ --quiet gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. Puedes revisar el repo vacío en la consola. Consola de Cloud > Artifact Registry > Repositorios.

  2. Ahora, ejercita el repositorio virtual creando tu proyecto con el siguiente comando:

rm -rf ~/.m2/repository mvn compile
  1. Revisa los paquetes en la consola. Consola de Cloud > Artifact Registry > Repositorios. Haz clic en maven-central-cache y verifica que los artefactos binarios se hayan configurado para extraerse del repositorio virtual, pero que finalmente se hayan extraído de maven-central-cache.
Detalles del repositorio de Artifact Registry

¡Felicitaciones!

Aprendiste a usar varios modos de repositorio y conociste los diversos propósitos que cumplen esos repositorios.

Próximos pasos/Más información

Capacitaciones y certificaciones de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 10 de septiembre de 2024

Prueba más reciente del lab: 6 de diciembre de 2023

Copyright 2024 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.