Conectarse a Cloud Build

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

Antes de empezar

  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, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta los artículos Control de acceso con gestión de identidades y accesos y Conceder acceso a instancias a los usuarios.

Roles de cuenta de servicio obligatorios

Para crear compilaciones y obtener su estado en Cloud Build, concede los siguientes roles de Gestión de Identidades y Accesos (IAM) al agente de servicio de Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com):

  • Rol Editor de Cloud Build (roles/cloudbuild.builds.editor) en el proyecto en el que hayas habilitado Cloud Build.
  • Rol 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 has habilitado Cloud Build es diferente del proyecto en el que has habilitado Secure Source Manager, asigna el rol Consumidor de uso de servicios (roles/serviceusage.serviceUsageConsumer) en el proyecto de Cloud Build.
  • Si las compilaciones se ejecutan en grupos de trabajadores, asigna a la cuenta de servicio de Secure Source Manager el rol Usuario de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolUser) en el proyecto de Cloud Build.

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

En función de tu caso de uso, es posible que la cuenta de servicio de Cloud Build necesite funciones de IAM adicionales para ejecutar compilaciones. Por ejemplo:

Para obtener información sobre cómo conceder roles de gestión de identidades y accesos a un agente de servicio, consulta Conceder o revocar un solo rol.

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

Crear un archivo de configuración de compilación

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

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

Para crear un archivo de configuración de compilación, sigue estos pasos:

  1. En la interfaz web de Secure Source Manager, selecciona el repositorio que quieras conectar a Cloud Build.
  2. Selecciona la rama desde la que quieras 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 de Crear un archivo de configuración de compilación.

  4. Confirma los cambios en la rama.

Crear un archivo de activadores

El archivo de configuración de los activadores debe crearse en la rama predeterminada de tu repositorio.

Para crear un archivo de configuración de activadores, sigue estos pasos:

  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 el 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
    

    Haz los cambios siguientes:

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

      • push para activarse cuando se inserte contenido en las ramas especificadas
      • pull_request para activar la acción cuando se solicite la extracción a 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 quieras que activen una compilación. El valor predeterminado está vacío. Si el valor está vacío, significa que no hay restricciones.

    • IGNORED_GIT_REFS con una expresión regular opcional que utilice el formato de expresión regular RE2 para que coincida con las referencias de Git que no quieras que activen una compilación. El valor predeterminado está vacío. Un valor vacío indica que no hay restricciones. El campo ignoredGitRefs se comprueba antes que el campo includedGitRefs. Para obtener más información sobre estos campos, consulta el esquema del archivo de activadores.

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

    • INCLUDED_FILES con una expresión regular de formato RE2 opcional que coincida con los archivos que quieras usar para activar una compilación.

      Si alguno de los archivos modificados no coincide con el campo de filtro ignoredFiles, pero sí con el campo de filtro includedFiles, se activará una compilación. El valor predeterminado está vacío. Si el valor está vacío, significa que no hay restricciones.

    • IGNORED_FILES con una expresión regular de formato RE2 opcional que coincida con los archivos que no quieras que activen una compilación.

      Si todos los archivos modificados de una confirmación coinciden con este campo de filtro, no se activará ninguna compilación. El valor predeterminado está vacío. Si el valor está vacío, significa que no hay restricciones.

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

    • VARIABLE_NAME con el nombre de una variable que quiera introducir en el archivo de activadores.

    • VARIABLE_VALUE con el valor de la variable.

    • OVERRIDE_VARIABLE_NAME con el nombre de la variable de sustitución predeterminada de Gestor de fuentes seguras. 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 con el valor que quiera usar en lugar del 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 haya confirmado el archivo de activadores, Secure Source Manager activará las compilaciones en función de la configuración de dicho archivo.

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

    • En el caso de los eventos push, Gestor de fuentes seguras leerá el SHA de la confirmación o la referencia de Git cuando se complete el envío.
    • En el caso de los eventos pull_request, Secure Source Manager leerá el SHA de la confirmación o la referencia de Git cuando se extraigan los cambios de la solicitud de extracción.

Ver el estado de la compilación

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

Los valores posibles del estado de compilación son los siguientes:

  • correctoÉXITO: la compilación se ha completado correctamente.
  • advertenciaADVERTENCIA: se ha producido un problema al intentar compilar.
  • errorFAILURE: la compilación ha fallado durante la ejecución.

Puedes evitar que las confirmaciones con compilaciones fallidas se combinen en ramas importantes si configuras una regla de protección de ramas para que requiera una comprobación de estado correcta 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 compilación de un evento push, sigue estos pasos:

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

    Si el evento de envío más reciente ha activado una compilación, el estado se muestra junto al SHA de la confirmación. Para ver los detalles de ese estado, haz clic en él.

  2. Para ver el estado de compilación de las confirmaciones anteriores, selecciona Confirmaciones para ver el historial de confirmaciones y, a continuación, haz clic en el estado del que quieras ver los detalles.

Para ver el estado de compilación de un evento de solicitud de extracción, sigue estos pasos:

  1. En la interfaz web de Secure Source Manager, haga clic en Pull requests (Solicitudes de extracción).
  2. Haz clic en la solicitud de extracción que quieras ver.

    Si las compilaciones se han activado mediante la solicitud de extracción, verás una sección titulada Todas las comprobaciones se han realizado correctamente o Algunas comprobaciones han devuelto advertencias.

Solucionar problemas

Para consultar los métodos para diagnosticar y resolver errores de Cloud Build al conectarse con Secure Source Manager, consulte El archivo de activadores no activa la compilación.

Siguientes pasos