Cloud Build te permite crear activadores para compilar desde repositorios alojados en GitHub. Puedes ejecutar compilaciones como respuesta a eventos como inserciones de confirmaciones o solicitudes de combinación asociadas a tu repositorio de GitHub.
En esta página se explica cómo habilitar los activadores de compilación para una instancia de GitHub. Para obtener más información, consulta los artículos sobre activadores de Cloud Build y repositorios de Cloud Build.
Antes de empezar
Sigue las instrucciones para conectarte a un host de GitHub.-
Enable the Cloud Build API.
Para crear un activador de un repositorio de GitHub, debes tener una conexión entre Google Cloud y tu repositorio. Para crear una conexión a través de la aplicación de GitHub en Google Cloud, consulta Conectarse a un repositorio de GitHub.
Crear un activador de GitHub
En esta sección se explica cómo crear un activador y vincularlo a tu instalación de GitHub.
Google Cloud consola
Para crear activadores de GitHub con la Google Cloud consola, sigue estos pasos:
Abre la página Triggers (Activadores) en la consola de Google Cloud .
Selecciona el Google Cloud proyecto y haz clic en Abrir.
Haz clic en Crear activador.
Introduce los siguientes ajustes del activador:
Nombre: introduce un nombre para el activador.
Región: selecciona la región del activador.
- Si el archivo de configuración de compilación asociado al activador especifica un grupo privado, Cloud Build usará ese grupo para ejecutar la compilación. En este caso, la región que especifiques en el activador debe coincidir con la región en la que hayas creado tu grupo privado.
- Si el archivo de configuración de compilación asociado al activador no especifica un grupo privado, Cloud Build usará el grupo predeterminado para ejecutar la compilación en la misma región que el activador.
Descripción (opcional): escribe una descripción del activador.
Evento: selecciona el evento del repositorio para invocar el activador.
Enviar a una rama: configura el activador para iniciar una compilación en las confirmaciones de una rama concreta.
Enviar nueva etiqueta: configura el activador para que inicie una compilación en las confirmaciones que contengan una etiqueta concreta.
Solicitud de extracción: configura el activador para que inicie una compilación cuando se confirmen cambios en una solicitud de extracción.
Fuente: configura la información sobre tu repositorio de GitHub:
Servicio de repositorio: selecciona Cloud Build.
Generación de repositorios: selecciona Developer Connect como fuente.
Repositorio: en la lista de repositorios disponibles, selecciona el repositorio.
Rama o Etiqueta: especifica una expresión regular con el valor de la rama o de la etiqueta que quieras que coincida. Para obtener información sobre la sintaxis válida de las expresiones regulares, consulta la sintaxis de RE2.
Control de comentarios: si has seleccionado Solicitud de extracción como Evento, elige una de las siguientes opciones para controlar si la compilación se ejecuta automáticamente mediante el activador:
Obligatorio excepto para propietarios y colaboradores: cuando un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción, el activador ejecuta las compilaciones automáticamente. Si un colaborador externo inicia la acción, las compilaciones se ejecutan solo después de que un propietario o colaborador comente
/gcbrun
en la solicitud de extracción.Obligatorio: cuando un colaborador crea o actualiza una solicitud de extracción, las compilaciones se ejecutan solo después de que un propietario o colaborador comente
/gcbrun
en la solicitud de extracción. Las compilaciones se ejecutan cada vez que se hace un cambio en una solicitud de extracción.No es obligatorio: cuando cualquier colaborador crea o actualiza una solicitud de extracción, los compilaciones se ejecutan automáticamente mediante activadores.
Configuración: selecciona el archivo de configuración de compilación que se encuentra en tu repositorio remoto o crea un archivo de configuración de compilación insertado para usarlo en tu compilación.
- Tipo: selecciona el tipo de configuración que quieras usar en tu compilación.
- Detección automática: Cloud Build detecta automáticamente el tipo de configuración si tienes un archivo
cloudbuild.yaml
oDockerfile
en tu repositorio. - Archivo de configuración de Cloud Build (yaml o json): usa un archivo de configuración de compilación para tu configuración.
- Dockerfile usa un
Dockerfile
para tu configuración. - Buildpacks usa paquetes de compilación para tu configuración.
- Detección automática: Cloud Build detecta automáticamente el tipo de configuración si tienes un archivo
Ubicación: especifica la ubicación de la configuración.
- Repositorio: si el archivo de configuración se encuentra en tu repositorio remoto, indica la ubicación del archivo de configuración de compilación o el
Dockerfile
directorio y el nombre de la imagen resultante. Si tu configuración esDockerfile
, puedes proporcionar un tiempo de espera para la compilación. Cuando hayas proporcionado elDockerfile
y el nombre de la imagen, verás una vista previa del comandodocker build
que ejecutará tu compilación. - En línea: si has seleccionado Archivo de configuración de Cloud Build (yaml o json) como opción de configuración, puedes especificar la configuración de compilación en línea. Haz clic en Abrir editor para escribir el archivo de configuración de la compilación en la consolaGoogle Cloud con la sintaxis YAML o JSON. Haz clic en Hecho para guardar la configuración de compilación.
- Repositorio: si el archivo de configuración se encuentra en tu repositorio remoto, indica la ubicación del archivo de configuración de compilación o el
- Tipo: selecciona el tipo de configuración que quieras usar en tu compilación.
Variables de sustitución (opcional): si has seleccionado el archivo de configuración de Cloud Build como opción de configuración de compilación, puedes definir variables de sustitución específicas del activador mediante este campo. Por ejemplo, supongamos que estás creando varios activadores y que cada uno de ellos implementa tu aplicación en un entorno específico. Puedes especificar que tu aplicación se implemente en un entorno de tu archivo de configuración de compilación y, a continuación, usar este campo para definir variables de sustitución que especifiquen en qué entorno se debe implementar este activador. Para obtener información sobre cómo especificar valores de sustitución en archivos de configuración de compilación, consulta Sustituir valores de variables.
Registros de compilación (opcional): marca la casilla para enviar los registros de compilación a GitHub. Para saber cómo ver los registros de compilación, consulta Ver registros de compilación.
Cuenta de servicio: selecciona la cuenta de servicio que quieras usar al invocar el activador. Si la política de tu organización permite usar la cuenta de servicio antigua de Cloud Build, puedes dejar este campo en blanco para usarla. De lo contrario, debes seleccionar la cuenta de servicio específica que quieras usar, aunque sea la predeterminada de Compute Engine.
Haz clic en Crear para guardar el activador de compilación.
Para crear activadores de GitHub con comandos gcloud
, consulta los gcloud
comandos para crear un activador de compilación.
CLI de gcloud
Para crear activadores de GitHub con comandos de gcloud
, ejecuta el siguiente comando:
gcloud alpha builds triggers create developer connect
--name=TRIGGER_NAME \
--git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION \
--service-account=SERVICE-ACCOUNT
Donde:
- TRIGGER_NAME es el nombre del activador.
- PROJECT_ID es el ID de tu proyecto Google Cloud .
- REGION es la región de tu activador.
- CONNECTION_NAME es el nombre de tu conexión de GitHub.
- GIT_REPOSITORY_LINK es el enlace a tu repositorio de Git.
- BRANCH_PATTERN es el nombre de la rama de tu repositorio en la que se invoca la compilación.
- TAG_PATTERN es el nombre de la etiqueta de tu repositorio para invocar la compilación.
- BUILD_CONFIG_FILE es la ruta a tu archivo de configuración de compilación.
- SERVICE-ACCOUNT es la cuenta de servicio que se debe usar para las operaciones de activadores y compilaciones.
API
Para crear un activador de GitHub con la API, usa la siguiente plantilla JSON:
{
"filename": "cloudbuild.yaml",
"name": "TRIGGER_NAME",
"description": "TRIGGER_DESCRIPTION",
"serviceAccount": "SERVICE_ACCOUNT",
"github": {
"owner": "OWNER",
"name": "REPO_NAME",
"push": {
"branch": ".*"
},
},
"include_build_logs": include-build-logs-value
}
Donde:
- TRIGGER_NAME es el nombre del activador.
- TRIGGER_DESCRIPTION es una descripción del activador.
- SERVICE_ACCOUNT es la cuenta de servicio que se debe usar para las operaciones de activadores y compilaciones.
- OWNER es el propietario del repositorio de GitHub.
- REPO_NAME es el nombre del repositorio de GitHub.
- include-build-logs-value es el valor del campo
include_build_logs
opcional. Si este campo tiene el valorINCLUDE_BUILD_LOGS_SPECIFIED
, los registros de compilación se muestran en tu repositorio.
Introduce el siguiente comando curl
en tu terminal:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Donde:
- PROJECT_NUMBER es el número de tu proyecto Google Cloud .
- PROJECT_ID es el ID de tu proyecto Google Cloud .
Compilar y ver los cambios
Para compilar con activadores de GitHub, debes insertar y confirmar los cambios en el repositorio de origen conectado o configurar la compilación en las solicitudes de extracción. Una vez que hayas registrado los cambios, Cloud Build compilará el código.
Para ver los cambios de la compilación en GitHub, ve a la pestaña Comprobaciones de tu repositorio.
Verás que Cloud Build ha compilado los cambios. También verás otros detalles de la compilación, como el tiempo que se ha tardado en compilar el código y el ID de compilación.
Para ver los cambios de la compilación en Cloud Build, haz clic en Ver más detalles en Google Cloud Build. Se abrirá la página Detalles de la compilación en la consola de Google Cloud , donde podrás ver información sobre la compilación, como el estado, los registros y los pasos de compilación.
Compartir datos
Los datos que Cloud Build envía a GitHub te ayudan a identificar los activadores por su nombre y a ver los resultados de las compilaciones en GitHub.
Actualmente, Cloud Build y GitHub comparten los siguientes datos:
- ID de proyecto de Cloud
- Nombre del activador
- Registros de compilación
Si creaste activadores antes de agosto del 2020, es posible que la opción de compartir datos no esté habilitada en tu proyecto. Para habilitar el uso compartido de datos en todos los activadores de GitHub de tu proyecto, haz clic en Habilitar en la pestaña Uso compartido de datos de Cloud Build.
Si tienes habilitadas las comprobaciones de estado obligatorias en un repositorio de GitHub, habilitar el uso compartido de datos puede interrumpir temporalmente las comprobaciones de estado. Puedes ajustar las configuraciones de comprobación de estado para buscar el nombre del activador de las siguientes formas:
- Inhabilitar las comprobaciones obligatorias específicas de Cloud Build en el repositorio de GitHub
- Asegurarse de que el uso compartido de datos esté habilitado en Cloud Build
- Ejecutar una nueva compilación en Cloud Build que publique estados en tu repositorio
- Volver a habilitar las comprobaciones de estado obligatorias y seleccionar el nombre del activador
Siguientes pasos
- Consulta cómo crear y gestionar activadores de compilación.
- Consulta cómo realizar implementaciones azul-verde en Compute Engine.