Conéctate a Cloud Build

En esta página, se explica cómo invocar compilaciones automáticamente desde Secure Source Manager con archivos de configuración de Cloud Build y un archivo YAML de activadores en tu repositorio de Secure Source Manager.

Antes de comenzar

  1. Crea una instancia de Secure Source Manager.
  2. Crea un repositorio de Secure Source Manager.
  3. Configura una cuenta de servicio especificada por el usuario de Cloud Build.

Roles obligatorios

Para obtener los permisos que necesitas para conectar un repositorio de Secure Source Manager a Cloud Build, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM y Otorga a los usuarios acceso a la instancia.

Roles de cuenta de servicio obligatorios

Para crear compilaciones y obtener el estado de la compilación de Cloud Build, otorga al agente de servicio de Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com) los siguientes roles de Identity and Access Management (IAM):

  • Rol de editor de Cloud Build (roles/cloudbuild.builds.editor) en el proyecto en el que habilitaste Cloud Build
  • Rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser) en la cuenta de servicio de Cloud Build o en el proyecto con el que se creó la cuenta de servicio de Cloud Build
  • Si el proyecto en el que habilitaste Cloud Build es diferente del proyecto en el que está habilitado Secure Source Manager, otorga el rol de consumidor de uso del servicio (roles/serviceusage.serviceUsageConsumer) en el proyecto de Cloud Build.
  • Si las compilaciones se ejecutan en grupos de trabajadores, otorga a la cuenta de servicio de Secure Source Manager el rol de usuario de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolUser) en el proyecto de Cloud Build.

Para permitir que Cloud Build lea desde tu repositorio de Secure Source Manager, otorga a la cuenta de servicio de Cloud Build los siguientes roles de IAM:

Según tu caso de uso, la cuenta de servicio de Cloud Build podría necesitar roles de IAM adicionales para ejecutar compilaciones, por ejemplo:

Para obtener información sobre cómo otorgar roles de IAM a un agente de servicio, consulta Otorgar o revocar una sola función.

Para obtener información sobre los registros de compilación, consulta Configura registros de compilación.

Crea un archivo de configuración de compilación

Un archivo de configuración de compilación define los campos que Cloud Build necesita para realizar tus tareas de compilación. Puedes escribir el archivo de configuración de compilación con la sintaxis YAML.

Puedes crear archivos de configuración de compilación en la rama o las ramas desde las que deseas compilar.

Para crear un archivo de configuración de compilación, haz lo siguiente:

  1. En la interfaz web de Secure Source Manager, selecciona el repositorio que deseas conectar a Cloud Build.
  2. Selecciona la rama desde la que deseas compilar con Cloud Build.
  3. Crea un archivo de configuración de compilación. Para obtener información sobre cómo crear archivos de configuración de compilación, sigue las instrucciones en Crea un archivo de configuración de compilación.

  4. Confirma los cambios en la rama.

Crea un archivo de activadores

\El archivo de configuración de activadores se debe crear en la rama predeterminada de tu repositorio.

Para crear un archivo de configuración de activadores, haz lo siguiente:

  1. En tu repositorio local o en la interfaz web de Secure Source Manager, cambia a la rama predeterminada.
  2. Crea un archivo llamado .cloudbuild/triggers.yaml.

  3. Configura tu activador en el archivo .cloudbuild/triggers.yaml:

    triggers:
    - name: TRIGGER_NAME
      project: PROJECT_ID
      configFilePath: CLOUD_BUILD_CONFIG_PATH
      eventType: EVENT_TYPE
      ignoredGitRefs: IGNORED_GIT_REFS
      includedGitRefs: INCLUDED_GIT_REFS
      serviceAccount: SERVICE_ACCOUNT
      includedFiles: INCLUDED_FILES
      ignoredFiles: IGNORED_FILES
      disabled: DISABLED_BOOL
      substitutions:
        _VARIABLE_NAME: VARIABLE_VALUE
        OVERRIDE_VARIABLE_NAME: OVERRIDE_VARIABLE_VALUE
    

    Reemplaza lo siguiente:

    • TRIGGER_NAME por un nombre para tu activador. Los nombres de los activadores solo pueden contener caracteres alfanuméricos y guiones, y no pueden comenzar ni terminar con un guion. Los nombres de los activadores deben tener menos de 64 caracteres.
    • PROJECT_ID por el Google Cloud ID del proyecto en el que habilitaste Cloud Build. Este campo es opcional. El valor predeterminado es el proyecto de Secure Source Manager.
    • CLOUD_BUILD_CONFIG_PATH con la ruta de acceso al archivo de configuración de Cloud Build que deseas usar para este activador. Este campo es opcional. El valor predeterminado es .cloudbuild/cloudbuild.yaml.
    • EVENT_TYPE por el tipo de evento que deseas activar la compilación. Las opciones son las siguientes:

      • push para activar la inserción en las ramas especificadas
      • pull_request para activar una solicitud de extracción en las ramas especificadas

      Este campo es opcional. El valor predeterminado es push.

    • INCLUDED_GIT_REFS con un formato de expresión regular RE2 opcional que coincida con las referencias de Git que deseas activar una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones.

    • IGNORED_GIT_REFS por una expresión regular opcional con el formato de expresión regular RE2 que coincida con las referencias de Git que no deseas activar una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones. El campo ignoredGitRefs se verifica antes que el campo includedGitRefs. Para obtener más información sobre estos campos, consulta Esquema del archivo de activadores.

    • SERVICE_ACCOUNT por la cuenta de servicio de Cloud Build que se usará para la compilación en el formato projects/PROJECT_ID/serviceAccounts/ACCOUNT. Reemplaza ACCOUNT por la dirección de correo electrónico o el ID único de la cuenta de servicio. Como práctica recomendada, configura una cuenta de servicio especificada por el usuario. La cuenta de servicio heredada de Cloud Build no se puede usar debido a sus limitaciones.

    • INCLUDED_FILES por una expresión regular de formato RE2 opcional que coincida con los archivos que deseas activar una compilación.

      Si alguno de los archivos modificados no coincide con el campo de filtro ignoredFiles y los archivos modificados coinciden con el campo de filtro includedFiles, se activa una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones.

    • IGNORED_FILES por una expresión regular de formato RE2 opcional que coincida con los archivos que no deseas activar una compilación.

      Si todos los archivos modificados en una confirmación coinciden con este campo de filtro, no se activa una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones.

    • DISABLED_BOOL por true para inhabilitar el activador o false para habilitarlo. Este campo es opcional. El valor predeterminado es false.

    • VARIABLE_NAME por el nombre de una variable que deseas introducir en tu archivo de activadores.

    • VARIABLE_VALUE por el valor de la variable.

    • OVERRIDE_VARIABLE_NAME por el nombre de la variable de sustitución predeterminada de Secure Source Manager. Para obtener información sobre las variables de sustitución predeterminadas disponibles, consulta la sección de sustituciones del esquema del archivo de activadores.

    • OVERRIDE_VARIABLE_VALUE por el valor con el que deseas anular el valor predeterminado de la variable de sustitución predeterminada.

  4. Confirma el archivo de configuración del activador en tu rama predeterminada.

    Una vez que se confirma el archivo de activadores, Secure Source Manager activa las compilaciones según la configuración de tu archivo de activadores.

    Secure Source Manager lee los archivos de configuración y la confirmación SHA o la referencia de Git asociadas de los siguientes tipos de eventos:

    • Para los eventos push, Secure Source Manager leerá la confirmación SHA o la referencia de Git cuando se complete la inserción.
    • Para los eventos pull_request, Secure Source Manager leerá la confirmación SHA o la referencia de Git cuando se extraigan los cambios de la solicitud de extracción.

Ver el estado de la compilación

Cuando un evento de inserción o solicitud de extracción activa una compilación, el estado de la confirmación y la compilación se muestra en la interfaz web de Secure Source Manager.

Los valores posibles para el estado de la compilación son los siguientes:

  • correctoSUCCESS: La compilación se completó correctamente.
  • advertenciaWARNING: Se produjo un problema cuando se intentó compilar.
  • fallaFAILURE: La compilación falló durante la ejecución.

Puedes evitar que las confirmaciones con compilaciones sin éxito se combinen en ramas importantes si configuras una regla de protección de ramas para requerir una verificación de estado exitosa de los activadores configurados en tu archivo de activadores. Para obtener más información sobre la protección de ramas, consulta la descripción general de la protección de ramas.

Para ver el estado de la compilación de un evento de inserción, haz lo siguiente:

  1. En la interfaz web de Secure Source Manager, navega a tu repositorio.

    Si el evento de inserción más reciente activó una compilación, el estado se muestra junto a la confirmación SHA. Para ver los detalles de ese estado, haz clic en el estado.

  2. Para ver el estado de la compilación de confirmaciones anteriores, selecciona Confirmaciones para ver el historial de confirmaciones y, luego, haz clic en el estado del que deseas ver los detalles.

Para ver el estado de la compilación de un evento de solicitud de extracción, haz lo siguiente:

  1. En la interfaz web de Secure Source Manager, haz clic en Solicitudes de extracción.
  2. Haz clic en la solicitud de extracción que deseas ver.

    Si la solicitud de extracción activó las compilaciones, verás una sección titulada ya sea Todas las verificaciones se realizaron correctamente o Algunas verificaciones informaron advertencias.

Solucionar problemas

Para encontrar métodos para diagnosticar y resolver errores de Cloud Build cuando se conecta con Secure Source Manager, consulta El archivo de activadores no activa la compilación.

¿Qué sigue?