arrow_back

Entrega continua con Google Cloud Deploy

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Entrega continua con Google Cloud Deploy

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

Google Cloud Deploy es un servicio administrado que automatiza la entrega de tus aplicaciones a una serie de entornos de destino en una secuencia de promoción definida. Cuando desees implementar tu aplicación actualizada, deberás crear una versión, cuyo ciclo de vida se administra a través de una canalización de entrega.

En este lab, crearás una canalización de entrega con Google Cloud Deploy. Luego, crearás una versión para una aplicación básica y ascenderás la aplicación por medio de una serie de destinos de Google Kubernetes Engine (GKE).

La aplicación de ejemplo es una app web sencilla que escucha en un puerto, proporciona un código de respuesta HTTP y agrega una entrada de registro.

Objetivos

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

  • Implementar una imagen de contenedor en Google Cloud Artifact Registry usando Skaffold
  • Crear una canalización de entrega de Google Cloud Deploy
  • Crear un lanzamiento para la canalización de entrega
  • Ascender la aplicación a través de los objetivos en la canalización de entrega

Configuración del lab

Accede a Qwiklabs

En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  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 las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haga 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 o escribe el nombre del servicio o producto en el campo Búsqueda. Ícono del menú de navegación

Después de completar los pasos iniciales de acceso, aparecerá el panel del proyecto.

Activa Google Cloud Shell

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

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Tarea 1. Crea tres clústeres de GKE

En esta tarea, crearás los tres clústeres de GKE que serán los destinos de la canalización de entrega.

Se crearán tres clústeres de GKE, lo cual indica los tres destinos de la canalización de entrega:

  • prueba
  • etapa de pruebas
  • producción
  1. Declara las variables de entorno que usarán los diversos comandos:
export PROJECT_ID=$(gcloud config get-value project) export REGION={{{ project_0.default_region | "REGION" }}} gcloud config set compute/region $REGION
  1. Habilita la API de Google Kubernetes Engine:
gcloud services enable \ container.googleapis.com \ clouddeploy.googleapis.com
  1. Configura el completado de línea de comando de kubectl en Cloud Shell:
source <(kubectl completion bash)
  1. Crea los tres clústeres de GKE:
gcloud container clusters create-auto test --async gcloud container clusters create-auto staging --async gcloud container clusters create-auto prod --async Nota: La marca --async también indica los clústeres que se deben aprovisionar en segundo plano, a la vez que el usuario puede seguir con la configuración de otros elementos de la canalización.
  1. Verifica el estado de los tres clústeres:
gcloud container clusters list --format="csv(name,status)" Nota: Dado que usamos la marca --async, este comando es una manera de obtener el estado de la implementación del clúster.

Resultado

name,status prod,PROVISIONING staging,PROVISIONING test,RUNNING

La creación de los clústeres puede demorar unos minutos. No debes esperar a que los clústeres estén listos. Continúa el lab.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear tres clústeres de GKE

Tarea 2. Prepara la imagen de contenedor de la aplicación web

En esta tarea, se creará un repositorio en Artifact Registry para guardar las imágenes de contenedor de la aplicación web.

  1. Habilita la API de Artifact Registry:
gcloud services enable artifactregistry.googleapis.com
  1. Crea el repositorio de app web para guardar las imágenes de contenedor:
gcloud artifacts repositories create web-app \ --description="Image registry for sample web app" \ --repository-format=docker \ --location=$REGION

Haz clic en Revisar mi progreso para verificar el objetivo. Crear el repositorio de app web

Tarea 3. Compila e implementa las imágenes de contenedor en Artifact Registry

En esta tarea, clonarás el repositorio de Git que contiene la aplicación web y, también, implementarás las imágenes de contenedor de la aplicación en Artifact Registry.

Prepara la configuración de la aplicación

  1. Clona el repositorio para el lab en el directorio principal:
cd ~/ git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git cd cloud-deploy-tutorials git checkout c3cae80 --quiet cd tutorials/base
  1. Crea la configuración skaffold.yaml:
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml cat web/skaffold.yaml Nota: El comando envsubst es un comando de búsqueda y reemplazo.

El directorio web ahora contiene el archivo de configuración skaffold.yaml, en el que se proporcionan instrucciones para que Skaffold compile una imagen de contenedor para tu aplicación. En esta configuración, se describen los siguientes elementos.

En la sección de compilación, se configura lo siguiente:

  • Las dos imágenes de contenedor que se compilarán (artefactos)
  • El proyecto de Google Cloud Build que se usará para compilar las imágenes

En la sección deploy, se configuran los manifiestos de Kubernetes necesarios para implementar la carga de trabajo en un clúster.

La configuración portForward se usa para definir el servicio de Kubernetes para la implementación.

Resultado

apiVersion: skaffold/v2beta7 kind: Config build: artifacts: - image: leeroy-web context: leeroy-web - image: leeroy-app context: leeroy-app googleCloudBuild: projectId: {{project-id}} deploy: kubectl: manifests: - leeroy-web/kubernetes/* - leeroy-app/kubernetes/* portForward: - resourceType: deployment resourceName: leeroy-web port: 8080 localPort: 9000 Nota: Para ver los archivos, usa vi, emacs, nano o el editor de código de Cloud Shell; para ello, haz clic en el ícono Abrir editor en Cloud Shell.

Compila la aplicación web

La herramienta skaffold se encargará del envío de la base de código a Cloud Build.

  1. Habilita la API de Cloud Build:
gcloud services enable cloudbuild.googleapis.com
  1. Ejecuta el comando skaffold para compilar la aplicación y, luego, implementar la imagen de contenedor en el repositorio de Artifact Registry creado anteriormente:
cd web skaffold build --interactive=false \ --default-repo $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --file-output artifacts.json cd ..
  1. Una vez que se haya completado la compilación de skaffold, verifica las imágenes de contenedor en Artifact Registry:
gcloud artifacts docker images list \ $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --include-tags \ --format yaml

El parámetro yaml --format devuelve el resultado en formato YAML para facilitar la lectura. El resultado debería verse así:

Resultado

--- createTime: '2024-09-11T02:07:54.995807Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app tags: '9181623' updateTime: '2024-09-11T02:07:54.995807Z' version: sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495 --- createTime: '2024-09-11T02:07:53.629263Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web tags: '9181623' updateTime: '2024-09-11T02:07:53.629263Z' version: sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9

De forma predeterminada, Skaffold configura la etiqueta de una imagen como su etiqueta Git relacionada, si hay una disponible. Puedes encontrar información similar en el archivo artifacts.json que creó el comando skaffold.

Skaffold genera el archivo web/artifacts.json con los detalles de las imágenes implementadas:

cat web/artifacts.json | jq

Resultado

{ "builds": [ { "imageName": "leeroy-web", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web:9181623@sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9" }, { "imageName": "leeroy-app", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app:9181623@sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495" } ]

Haz clic en Revisar mi progreso para verificar el objetivo. Compilar e implementar las imágenes de contenedor en Artifact Registry

Tarea 4. Crea la canalización de entrega

En esta tarea, configurarás la canalización de entrega. La canalización ascenderá las apps de prueba a etapa de pruebas y de etapa de pruebas a producción.

  1. Habilita la API de Google Cloud Deploy:
gcloud services enable clouddeploy.googleapis.com
  1. Crea el recurso de canalización de entrega con el archivo delivery-pipeline.yaml:
gcloud config set deploy/region $REGION cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml gcloud deploy apply --file=clouddeploy-config/delivery-pipeline.yaml
  1. Verifica que se haya creado la canalización de entrega:
gcloud deploy delivery-pipelines describe web-app

La canalización de entrega será similar al siguiente resultado:

Resultado

Unable to get target test Unable to get target staging Unable to get target prod Delivery Pipeline: createTime: '2024-09-11T14:03:18.294884547Z' description: web-app delivery pipeline etag: 2539eacd7f5c256d name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app serialPipeline: stages: - targetId: test - targetId: staging - targetId: prod uid: eb0601aa03ac4b088d74c6a5f13f36ae updateTime: '2024-09-11T14:03:18.680753520Z' Targets: []

Observa las primeras tres líneas del resultado. Actualmente, la canalización de entrega hace referencia a tres entornos de destino que aún no se han creado. En la siguiente tarea, crearás esos destinos.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear la canalización de entrega

Tarea 5. Configura los destinos de implementación

Se crearán tres destinos de canalización de entrega: uno para cada uno de los clústeres de GKE.

Asegúrate de que los clústeres estén listos

Los tres clústeres de GKE ya deberían estar en ejecución, pero es útil verificarlo.

  • Ejecuta lo siguiente para obtener el estado de los clústeres:
gcloud container clusters list --format="csv(name,status)"

Los tres clústeres deben estar en el estado RUNNING, como se indica en el resultado que figura a continuación. Si aún no están marcados como RUNNING, vuelve a ejecutar el comando anterior hasta que su estado se haya cambiado a RUNNING.

Resultado

name,status prod,RUNNING staging,RUNNING test,RUNNING

Una vez que todos los clústeres tengan el estado "RUNNING", continúa el lab.

Crea un contexto para cada clúster

Usa los siguientes comandos para obtener las credenciales de cada clúster y crear un contexto kubectl fácil de usar para hacer referencia a los clústeres más adelante:

CONTEXTS=("test" "staging" "prod") for CONTEXT in ${CONTEXTS[@]} do gcloud container clusters get-credentials ${CONTEXT} --region ${REGION} kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT} done

Crea un espacio de nombres en cada clúster

Usa los siguientes comandos para crear un espacio de nombres de Kubernetes (app web) en cada uno de los tres clústeres:

for CONTEXT in ${CONTEXTS[@]} do kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml done

La aplicación se implementará en el espacio de nombres (app web).

Crea los destinos de la canalización de entrega

  1. Envía una definición del destino para cada uno de los destinos:
for CONTEXT in ${CONTEXTS[@]} do envsubst < clouddeploy-config/target-$CONTEXT.yaml.template > clouddeploy-config/target-$CONTEXT.yaml gcloud deploy apply --file clouddeploy-config/target-$CONTEXT.yaml done

Los destinos se describen en un archivo YAML. En cada destino, se configura la información de clúster pertinente para ese destino. La configuración de los destinos de prueba y etapa de pruebas son prácticamente las mismas.

  1. Visualiza los detalles para el destino de prueba:
cat clouddeploy-config/target-test.yaml

Resultado

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: test description: test cluster gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/test

El destino de producción es algo diferente, ya que requiere aprobación (consulta la configuración requireApproval en el resultado) antes de que una versión pueda ascenderse al clúster.

  1. Visualiza los detalles para el destino de producción:
cat clouddeploy-config/target-prod.yaml

Resultado

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: prod description: prod cluster requireApproval: true gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/prod
  1. Verifica que se hayan creado los tres destinos (prueba, etapa de pruebas y producción):
gcloud deploy targets list

Ya se crearon todos los destinos de Google Cloud Deploy para la canalización de entrega.

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar los destinos de implementación

Tarea 6. Crea una versión

En esta tarea, crearás una versión de la aplicación.

Una versión de Google Cloud Deploy es una versión específica de una o más imágenes de contenedor asociadas a una canalización de entrega determinada. Una vez que se crea una versión, se puede ascender a través de múltiples destinos (la secuencia de promoción). Además, cuando creas una versión, se procesa tu aplicación con skaffold y el resultado se guarda como una referencia de un momento determinado que se usa mientras dure la versión.

Ya que se trata de la primera versión de tu aplicación, le asignarás el nombre web-app-001.

  1. Ejecuta el siguiente comando para crear la versión:
gcloud deploy releases create web-app-001 \ --delivery-pipeline web-app \ --build-artifacts web/artifacts.json \ --source web/

El parámetro --build-artifacts hace referencia al archivo artifacts.json que creó skaffold anteriormente. El parámetro --source hace referencia al directorio del código fuente de la aplicación en el que se puede encontrar skaffold.yaml.

Cuando se crea una versión, también se lanza automáticamente en el primer destino de la canalización (a menos que se requiera aprobación, lo que se abordará más adelante en este lab).

  1. Para confirmar que el destino de prueba tenga implementada tu aplicación, ejecuta el siguiente comando:
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Resultado

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2024-09-11T14:05:21.961604Z' deployEndTime: '2024-09-11T14:06:35.278604Z' deployStartTime: '2024-09-11T14:06:22.420091744Z' deployingBuild: projects/{{project-id}}/locations/us-central1/builds/4815b788-ec5e-4185-9141-a5b57c71b001 enqueueTime: '2024-09-11T14:06:21.760830Z' etag: 5cb7b6c342b5f29b name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-test-0001 state: SUCCEEDED targetId: test uid: cccd9525d3a0414fa60b2771036841d9

El primer lanzamiento de una versión tarda varios minutos, ya que Google Cloud Deploy procesa los manifiestos para todos los destinos cuando se crea la versión. El clúster de GKE también puede tardar unos minutos para proporcionar los recursos que necesita la implementación.

Si no ves state: SUCCEEDED en el resultado del comando anterior, espera un momento y vuelve a ejecutar el comando de forma periódica hasta que se complete el lanzamiento.

  1. Para confirmar que la aplicación se haya implementado en el clúster de GKE de prueba, ejecuta los siguientes comandos:
kubectx test kubectl get all -n web-app

Resultado

NAME READY STATUS RESTARTS AGE pod/leeroy-app-5547cf9d9b-rgc2l 1/1 Running 0 3m27s pod/leeroy-web-6768b49c46-w7vt9 1/1 Running 0 3m27s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/leeroy-app ClusterIP None <none> 50051/TCP 3m28s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/leeroy-app 1/1 1 1 3m28s deployment.apps/leeroy-web 1/1 1 1 3m28s NAME DESIRED CURRENT READY AGE replicaset.apps/leeroy-app-5547cf9d9b 1 1 1 3m28s replicaset.apps/leeroy-web-6768b49c46 1 1 1 3m28s Nota: El comando kubectx nos permite cambiar entre contextos con facilidad.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear una versión

Tarea 7. Asciende la aplicación a la etapa de pruebas

En esta tarea, ascenderás la aplicación desde el destino de prueba y hacia el destino de etapa de pruebas.

  1. Asciende la aplicación al destino de etapa de pruebas:
gcloud deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

Se te solicitará que continúes antes de que comience la promoción.

  • Presiona INTRO para aceptar la configuración predeterminada (Y = sí).
  1. Para confirmar que el destino de etapa de pruebas tenga implementada tu aplicación, ejecuta el siguiente comando:
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Revisa el resultado

Busca la sección marcada como targetId: staging. Como antes, si no ves state: SUCCEEDED en el resultado del comando anterior, espera un momento y vuelve a ejecutar el comando de forma periódica hasta que se complete el lanzamiento.

Resultado

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2024-09-11T02:19:32.539468Z' deployEndTime: '2024-09-11T02:19:45.970949Z' deployStartTime: '2024-09-11T02:19:33.111948770Z' deployingBuild: projects/743805075658/locations/us-central1/builds/2316517c-3a2f-4cd3-80ad-6d133b653746 etag: 1109b802ff586df5 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-staging-0001 state: SUCCEEDED targetId: staging uid: 80a35a5f044844708d2050f8c556e07e

Haz clic en Revisar mi progreso para verificar el objetivo. Ascender la aplicación a la etapa de pruebas

Tarea 8. Asciende la aplicación a la producción

En esta tarea, ascenderás nuevamente la aplicación, pero también brindarás la aprobación.

  1. Asciende la aplicación al destino de producción:
gcloud deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

Se te solicitará que continúes antes de que comience la promoción.

  • Presiona INTRO para aceptar la configuración predeterminada (Y = sí).
  1. Para revisar el estado del destino de producción, ejecuta el siguiente comando:
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

En el resultado, ten en cuenta que approvalState es NEEDS_APPROVAL y que el estado es PENDING_APPROVAL.

Resultado

--- approvalState: NEEDS_APPROVAL createTime: '2024-09-11T14:12:07.466989Z' etag: 6e9303e5a1b04084 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-prod-0001 state: PENDING_APPROVAL targetId: prod uid: a5c7d6007fee4d80904d49142581aaa7
  1. Aprueba el lanzamiento con el siguiente comando:
gcloud deploy rollouts approve web-app-001-to-prod-0001 \ --delivery-pipeline web-app \ --release web-app-001

Se te solicitará que apruebes el lanzamiento antes de que comience la promoción.

  • Presiona INTRO para aceptar la configuración predeterminada (Y = sí).
  1. Para confirmar que el destino de producción tenga implementada tu aplicación, ejecuta el siguiente comando:
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Como en el caso de los lanzamientos anteriores, localiza la entrada del destino (targetId: prod) y verifica que se haya completado el lanzamiento (state: SUCCEEDED). Vuelve a ejecutar el comando periódicamente hasta que se complete el lanzamiento.

  1. Usa kubectl para verificar el estado de la aplicación implementada:
kubectx prod kubectl get all -n web-app

Haz clic en Revisar mi progreso para verificar el objetivo. Ascender la aplicación a la producción

¡Felicitaciones!

Ahora, puedes usar Cloud Deploy para crear canalizaciones de entrega continua.

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

Usa una ventana de navegación 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.