Guía de inicio rápido: compilación

En esta página, se explica cómo usar Cloud Build para compilar una imagen de Docker y enviarla a Container Registry. Container Registry proporciona almacenamiento privado y seguro de imágenes de Docker en Google Cloud.

Primero, compilarás la imagen mediante un Dockerfile, que es el archivo de configuración de Docker y, luego, compilarás la misma imagen mediante el archivo de configuración de Cloud Build.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página de selección de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Habilita la API Cloud Build.

    Habilita la API

  5. Instala e inicializa el SDK de Cloud.

Prepara archivos fuente

Necesitarás un código fuente de muestra para empaquetar en una imagen de contenedor. En esta sección, crearás una secuencia de comandos de shell simple y un Dockerfile. Un Dockerfile es un documento de texto que contiene instrucciones para que Docker compile una imagen.

  1. Abre una ventana de terminal.

  2. Crea un directorio nuevo llamado quickstart-docker y navega hasta él:

    mkdir quickstart-docker
    cd quickstart-docker
    
  3. Crea un archivo llamado quickstart.sh con el siguiente contenido:

    #!/bin/sh
    echo "Hello, world! The time is $(date)."
    
  4. Crea un archivo llamado Dockerfile con el siguiente contenido:

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
    
  5. Ejecuta el siguiente comando para hacer que quickstart.sh sea ejecutable:

    chmod +x quickstart.sh
    

Compila con Dockerfile

Cloud Build te permite compilar una imagen de Docker mediante un Dockerfile. No se necesita un archivo de configuración de Cloud Build diferente.

Para compilar mediante un Dockerfile, sigue estos pasos:

  1. Obtén tu ID del proyecto de Cloud mediante la ejecución del siguiente comando:

    gcloud config get-value project
    
  2. Ejecuta el siguiente comando desde el directorio que contiene quickstart.sh y Dockerfile, en el que project-id es tu ID del proyecto de Cloud:

    gcloud builds submit --tag gcr.io/project-id/quickstart-image
    

Una vez completada la compilación, verás un resultado similar al siguiente:

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  9S    gs://[PROJECT_ID]_cloudbuild/source/1508159187.8-b0d8841d51674a30aebd1e55bb99486f.gz  gcr.io/[PROJECT_ID]/quickstart-image (+1 more)       SUCCESS

Acabas de compilar una imagen de Docker llamada quickstart-image mediante un Dockerfile y enviaste la imagen a Container Registry.

Compila con un archivo de configuración de compilación

En esta sección, usarás un archivo de configuración de Cloud Build para compilar la misma imagen de Docker que la anterior. El archivo de configuración de compilación indica a Cloud Build que realice tareas según tus especificaciones.

  1. En el mismo directorio que contiene quickstart.sh y Dockerfile, crea un archivo llamado cloudbuild.yaml con el siguiente contenido. Este archivo es tu archivo de configuración de compilación. A la hora de la compilación, Cloud Build reemplaza de forma automática $PROJECT_ID por tu ID del proyecto.

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/quickstart-image', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/quickstart-image'
    
  2. Comienza la compilación mediante la ejecución del siguiente comando:

    gcloud builds submit --config cloudbuild.yaml
    

Cuando se complete la compilación, verás un resultado similar al siguiente:

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  8S    gs://[PROJECT_ID]_cloudbuild/source/1508158566.55-725755714baa4b7e9e99984c422ec4e2.gz  gcr.io/[PROJECT-ID]/quickstart-image (+1 more)       SUCCESS

Acabas de compilar quickstart-image mediante el archivo de configuración de compilación y enviaste la imagen a Container Registry.

Observa los detalles de compilación

  1. Abre la página de Cloud Build en Google Cloud Console.

    Abrir la página de Cloud Build

  2. Selecciona tu proyecto y haz clic en Open (Abrir).

    Verás la página Historial de compilación:

    Captura de pantalla de la página historial de compilación

  3. Haz clic en una compilación en particular.

    Verás la página Detalles de la compilación:

  4. Para ver los artefactos de la compilación, en Resumen de la compilación, haz clic en Artefactos de compilación.

    Verás un resultado similar al siguiente:

    Captura de pantalla de artefactos de compilación

    Puedes descargar tu registro de compilación y ver los detalles de la imagen en Container Registry desde esta página.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.

  1. Abre la página de Container Registry en Google Cloud Console.

    Abrir la página de Container Registry

  2. Selecciona tu proyecto y haz clic en Abrir.

  3. Haz clic en quickstart-image.

  4. Selecciona todas las imágenes y haz clic en Borrar.

Con estos pasos, borraste las imágenes que creaste como parte de esta guía de inicio rápido.

¡Eso es todo, completaste esta guía de inicio rápido!

Próximos pasos