Cloud Build te permite crear activadores en una instancia de GitHub Enterprise. En esta página, se explica cómo puedes usar los activadores de GitHub Enterprise para invocar compilaciones en respuesta a confirmaciones o solicitudes de extracción desde un repositorio de GitHub Enterprise.
Obtén más información sobre los activadores de Cloud Build y los repositorios de Cloud Build.
Antes de comenzar
-
Enable the Cloud Build and Secret Manager APIs.
- Sigue las instrucciones para conectar un host de GitHub Enterprise.
- Sigue las instrucciones para conectar un repositorio de GitHub Enterprise.
Crea un activador de GitHub Enterprise
En esta sección, se explica cómo crear un activador y vincularlo a tu GitHub Instalación para empresas. Si deseas usar activadores de GitHub Enterprise en una red privada, consulta Cómo compilar repositorios de GitHub Enterprise en una red privada para obtener más instrucciones.
Console
Para crear activadores de GitHub Enterprise con la consola de Google Cloud, sigue estos pasos:
Abre la página Activadores en la consola de Google Cloud.
Selecciona tu proyecto en el menú desplegable del selector de proyectos en la parte superior de la página.
Haz clic en Abrir.
Haz clic en Crear activador.
Ingresa las siguientes opciones de configuración del activador:
Nombre: Ingresa un nombre para el activador.
Región: Selecciona la región para tu activador.
- Si el archivo de configuración de compilación asociado con el activador especifica un grupo privado, Cloud Build usa el grupo privado 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 creaste el grupo privado.
- Si el archivo de configuración de compilación asociado con el activador no especifica un grupo privado, Cloud Build usa el grupo predeterminado para ejecutar la compilación en la misma región que el activador.
Descripción (opcional): Ingresa una descripción para el activador.
Evento: Selecciona el evento de repositorio que invoca al activador.
Enviar a una rama: Configura el activador para que inicie compilaciones a partir de las confirmaciones en una rama en particular.
Enviar etiqueta nueva: Configura el activador para que inicie compilaciones a partir de las confirmaciones que contengan una etiqueta específica.
Solicitud de extracción: Configura el activador para que inicie una compilación. de las confirmaciones en una solicitud de extracción.
Fuente: Selecciona 2ª generación como fuente.
Repositorio: En la lista de repositorios disponibles, selecciona el que deseas. Para conectar un repositorio nuevo, consulta Cómo conectarse a un repositorio de GitHub Enterprise.
Rama o Etiqueta: Especifica una expresión regular con la rama o el valor de la etiqueta que deben coincidir. Para obtener información acerca de la sintaxis de expresión regular aceptable, consulta Sintaxis RE2.
Control de comentarios: Si seleccionaste Solicitud de extracción (solo para la app de GitHub) como tu Evento, elige una de las siguientes opciones para controlar si el activador ejecutará una compilación de forma automática:
Es obligatorio excepto para los propietarios y colaboradores: Cuando un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción, el activador ejecuta las compilaciones de forma automática. Si un colaborador externo inicia la acción, las compilaciones solo se ejecutarán después de que el propietario o colaborador comente
/gcbrun
en la solicitud de extracción.Obligatorio: Cuando un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción con
/gcbrun
en la descripción o el comentario de la solicitud de extracción, el activador ejecutará automáticamente las compilaciones. Cuando una solicitud de extracción crea o actualiza Contributor, las compilaciones solo se ejecutarán después de que un propietario o el colaborador comenta/gcbrun
en la solicitud de extracción.No obligatorio: Cuando cualquier colaborador crea o actualiza una solicitud de extracción, las compilaciones se ejecutan de forma automática con activadores.
Archivos incluidos (opcional): Los cambios que afecten al menos a uno de estos archivos invocarán una compilación.
Archivos ignorados (opcional): Los cambios que solo afectan a los archivos ignorados no invocarán una compilación.
Configuración: Selecciona el archivo de configuración de compilación ubicado en tu repositorio remoto o crea un archivo de configuración de compilación intercalado para usarlo en tu compilación.
- Tipo: Selecciona el tipo de configuración que usarás para la compilación.
- Detectado automáticamente: Cloud Build detecta automáticamente el tipo de configuración si tienes un
cloudbuild.yaml
oDockerfile
en el repositorio. - Archivo de configuración de Cloud Build (YAML o JSON): Usa un archivo de configuración de compilación para la configuración.
- Dockerfile: Usa
Dockerfile
para la configuración. - Paquetes de compilación: Usa paquetes de compilación para tu configuración.
- Detectado automáticamente: Cloud Build detecta automáticamente el tipo de configuración si tienes un
Ubicación: Especifica la ubicación de tu configuración.
- Repositorio: Si tu archivo de configuración se encuentra en tu repositorio remoto, proporciona la ubicación de tu archivo de configuración de compilación o el directorio
Dockerfile
y un nombre para la imagen resultante. Si tu configuración esDockerfile
. De manera opcional, puedes proporcionar un tiempo de espera para tu compilación. Cuando proporciones elDockerfile
y el nombre de la imagen, verás una vista previa del comandodocker build
que ejecutará tu compilación. - En línea: Si seleccionaste Archivo de configuración de Cloud Build (YAML o JSON) como tu opción de configuración, puedes especificar tu configuración de la compilación de forma intercalada. Haz clic en Abrir editor para escribir tu archivo de configuración de compilación en la consola de Google Cloud con la sintaxis de YAML o JSON. Haz clic en Listo para guardar la configuración de tu compilación.
- Repositorio: Si tu archivo de configuración se encuentra en tu repositorio remoto, proporciona la ubicación de tu archivo de configuración de compilación o el directorio
- Tipo: Selecciona el tipo de configuración que usarás para la compilación.
Variables de sustitución (opcional): Si seleccionaste el archivo de configuración de Cloud Build como la 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 creas varios activadores y que cada uno de ellos implementa tu app en un entorno específico. Puedes especificar que la app se implemente en un entorno del archivo de configuración de compilación y, luego, usar este campo para definir variables de sustitución que especifiquen en qué entorno debe implementarse este activador. Para obtener información sobre cómo especificar valores de sustitución en archivos de configuración de compilación, consulta Sustituye valores de variable.
Registros de compilación (opcional): Marca la casilla para enviar los registros de compilación a GitHub. Para aprender a ver registros de compilación, consulta Visualiza registros de compilación.
Cuenta de servicio: Selecciona la cuenta de servicio que se usará para invocar el activador. Si no seleccionas una cuenta de servicio, se usa la cuenta de servicio de Cloud Build predeterminada.
Haz clic en Crear para guardar el activador de compilación.
A fin de crear activadores de GitHub con los comandos de gcloud
, consulta los comandos de gcloud
para crear un activador de compilación.
gcloud
Para crear activadores de GitHub Enterprise con los comandos de gcloud
, ejecuta el siguiente
comando:
gcloud builds triggers create github \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION
Aquí:
- TRIGGER_NAME es el nombre del activador.
- PROJECT_ID es tu ID del proyecto de Cloud.
- REGION es la región de tu activador.
- CONNECTION_NAME es el nombre de tu conexión de GitHub Enterprise.
- REPO_NAME es el nombre de tu repositorio
- BRANCH_PATTERN es el nombre de la rama en tu repositorio para invocar la compilación.
- TAG_PATTERN es el nombre de la etiqueta en tu repositorio para invocar la compilación.
- BUILD_CONFIG_FILE es la ruta de acceso al archivo de configuración de compilación.
Uso compartido de datos
Los datos que se envían a GitHub Enterprise desde Cloud Build te ayudan a identificar los activadores por nombre y ver los resultados de la compilación en GitHub Enterprise.
Actualmente, los datos siguientes se comparten entre Cloud Build y GitHub Enterprise:
- ID del proyecto de nube
- Nombre del activador
- Registros de compilaciones
Si creaste activadores antes de agosto de 2020, es posible que el uso compartido de datos no esté habilitado para tu proyecto. Puedes habilitar el uso compartido de datos para todos los activadores de GitHub Enterprise en tu proyecto haciendo clic en Habilitar en la pestaña Uso compartido de datos de Cloud Build.
Si tienes verificaciones de estado obligatorias habilitado para un repositorio de GitHub Enterprise, habilitar el uso compartido de datos podría interrumpirse temporalmente comprobaciones de estado. Puedes ajustar la configuración de la verificación de estado para buscar el nombre de tu activador de la siguiente manera:
- Inhabilita cualquier verificación necesaria específica de Cloud Build en el repositorio de GitHub Enterprise.
- Asegúrate de que el uso compartido de datos esté habilitado en Cloud Build.
- Ejecuta una compilación nueva en Cloud Build que publique estados en tu repositorio.
- Vuelve a habilitar las verificaciones de estado necesarias y selecciona el nombre del activador.
Próximos pasos
- Obtén más información sobre cómo crear y administrar activadores.
- Obtén más información para compilar repositorios de GitHub Enterprise en una red privada.
- Aprende a realizar implementaciones azul-verde en Compute Engine.