Automatiza las compilaciones con Cloud Build

En este tema, se describe cómo automatizar las compilaciones con Cloud Build y Cloud Source Repositories.

Puedes configurar Cloud Build para que genere automáticamente una imagen nueva cada vez que un usuario envía un cambio a los archivos almacenados en Cloud Source Repositories. Los eventos que inician compilaciones automáticas se denominan activadores de compilación. Estos activadores pueden ayudar a garantizar que las imágenes de tus contenedores se mantengan actualizadas. También puedes usarlos para compilar y probar ramas de funciones.

Antes de comenzar

Información adicional

Además de los requisitos previos, ten en cuenta la siguiente información:

  • Los activadores de compilación usan clonaciones superficiales de un repositorio. Con las clonaciones superficiales, se extrae del espacio de trabajo solo la confirmación individual que activó la compilación automática. Para obtener más información y ver cómo incluir más de tu historial de repositorios, consulta Crea clonaciones no superficiales.

  • Si usas otro proveedor de Git alojado, como GitHub o Bitbucket, y aún necesitas duplicar el repositorio en Cloud Source Repositories, debes tener el permiso cloudbuilds.builds.create para el proyecto de Google Cloud con el que trabajas. Por lo general, este permiso se otorga a través de la función cloudbuild.builds.editor.

    Cuando configuras un activador de compilación con un repositorio externo por primera vez, debes configurar la autorización con ese repositorio. Para obtener más información, consulta Agrega un repositorio como recurso remoto.

    Una vez que configuras tu repositorio externo, Cloud Source Repositories crea un duplicado.

  • Para obtener información sobre las cuotas y los límites de Cloud Build, consulta Cuotas y límites en la documentación de Cloud Build.

Crea un activador de compilación

Para crear un activador de compilación nuevo, sigue estos pasos:

  1. En Google Cloud Console, abre la página Activadores de compilación de Cloud Build.

    Abrir la página de activadores de compilación

  2. Selecciona tu proyecto de Google Cloud y haz clic en Abrir.

    Se abre la página Activadores.

  3. Haz clic en Crear activador.

    Se abre la página Crear activador.

  4. En la lista desplegable Repositorio, selecciona uno de los repositorios disponibles.

  5. Completa las siguientes opciones:

    • Opcional: En el campo Descripción, ingresa un nombre para el activador.
    • Opcional: En la lista Tipo de activador, puedes configurar un activador para que inicie una compilación cuando se realicen confirmaciones en una rama determinada o con una etiqueta específica. En ambos casos, puedes especificar una expresión regular con el valor de la rama o de la etiqueta para que coincidan.

    • En la lista Configuración de compilación, selecciona un tipo de archivo de configuración para usar en cada compilación que inicie el activador. Puedes seleccionar y especificar un Dockerfile, o puedes seleccionar un archivo de configuración de Cloud Source Repositories (ubicado en el repositorio remoto). Si es necesario, revisa la información que se brinda en esta página sobre cómo compilar con un Dockerfile o un archivo de configuración de compilación.

  6. Haz clic en Crear activador.

Usa un Dockerfile

Si quieres usar un Dockerfile para la configuración de compilación, deberás especificar el directorio de Dockerfile y proporcionar un nombre para la imagen resultante.

Una vez que hayas proporcionado el nombre de imagen y el Dockerfile, verás una vista previa del comando docker build que ejecuta tu compilación y un resumen de la configuración del activador.

Usa un archivo de configuración de compilación

Para usar un archivo de configuración de compilación, debes proporcionar su ubicación.

Una vez que hayas establecido la ubicación, verás un resumen del activador.

Prueba un activador de compilación

Para probar un activador de compilación de forma manual, haz clic en Ejecutar activador en la entrada de tu activador en la lista.

Omite un activador de compilación

En algunos casos, es posible que desees modificar el código fuente sin que se active una compilación (por ejemplo, cuando actualizas la documentación o los archivos de configuración).

En esos casos, puedes incluir [skip ci] o [ci skip] en el mensaje de confirmación para que no se active una compilación.

Por ejemplo:

Author: A User <auser@example.com>
Date:   Tue Apr 3 12:03:35 2018 -0700

Fixed customer affecting issue. [skip ci]

Si quieres ejecutar una compilación en esa confirmación más tarde, usa el botón Ejecutar activador.

Crea clonaciones no superficiales

Para compilar tu código fuente en un repositorio de Git, Cloud Source Repositories realiza una clonación superficial del repositorio. Esto significa que se extrae del espacio de trabajo solo la confirmación individual que activó la compilación y, luego, compila sobre la base de ese código fuente. Cloud Source Repositories no extrae ninguna otra rama o parte del historial. Esto se hace por motivos de eficiencia. De este modo, se evitan demoras en la compilación, ya que Cloud Source Repositories no necesita recuperar el repositorio y el historial en su totalidad para compilar a partir de una única confirmación.

Si deseas incluir más elementos del historial de tu repositorio en la compilación, agrega un paso a tu archivo de configuración para que la clonación deje de ser superficial. Por ejemplo:

steps:
- name: gcr.io/cloud-builders/git
  args: ['fetch', '--unshallow']
...

Para obtener más información sobre git fetch, consulta la referencia de git. Si deseas obtener instrucciones para escribir un archivo de configuración de compilación, consulta la Descripción general de la configuración de compilación.

Qué sigue