Antes de comenzar
- Crea una instancia de Secure Source Manager.
- Crea un repositorio de Secure Source Manager.
- Configura una cuenta de servicio especificada por el usuario de Cloud Build.
Roles requeridos
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:
-
Escritor de repositorio de Secure Source Manager (
roles/securesourcemanager.repoWriter
) en tu repositorio -
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) en la instancia de Secure Source Manager
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 Cómo otorgar acceso a la instancia a los usuarios.
Roles de la cuenta de servicio requeridos
Para crear compilaciones y obtener su estado desde 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:
- Rol de Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) en la instancia de Secure Source Manager - Rol de lector de repositorios de Secure Source Manager en el repositorio de Secure Source Manager al que deseas conectarte con Cloud Build
Según tu caso de uso, es posible que la cuenta de servicio de Cloud Build necesite roles de IAM adicionales para ejecutar compilaciones, por ejemplo:
- Para almacenar registros de compilación en Cloud Logging, otorga el rol de escritor de registros a la cuenta de servicio de Cloud Build.
- Para acceder a los secretos en Secret Manager, otorga el rol de Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
) a la cuenta de servicio de Cloud Build.
Para obtener información sobre cómo otorgar roles de IAM a un agente de servicio, consulta Otorga o revoca un solo rol.
Para obtener información sobre los registros de compilación, consulta Cómo configurar 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:
- En la interfaz web de Secure Source Manager, selecciona el repositorio que deseas conectar a Cloud Build.
- Selecciona la rama desde la que deseas compilar con Cloud Build.
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.
Confirma tus cambios en la rama.
Crea 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:
- En tu repositorio local o en la interfaz web de Secure Source Manager, cambia a la rama predeterminada.
Crea un archivo llamado
.cloudbuild/triggers.yaml
.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 ID del proyecto en el que habilitaste Cloud Build. Google Cloud 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
con el tipo de evento con el que deseas activar la compilación. Las opciones son las siguientes:push
para activar el envío a las ramas especificadaspull_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 con las que deseas activar una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones.IGNORED_GIT_REFS
con una expresión regular opcional que usa el formato de expresión regular RE2 que coincide con las referencias de Git que no quieres que activen una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones. El campoignoredGitRefs
se verifica antes que el campoincludedGitRefs
. Para obtener más información sobre estos campos, consulta Esquema del archivo de activadores.SERVICE_ACCOUNT
con la cuenta de servicio de Cloud Build que se usará para la compilación en el formatoprojects/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. No se puede usar la cuenta de servicio heredada de Cloud Build debido a sus limitaciones.INCLUDED_FILES
con una expresión regular opcional en formato RE2 que coincida con los archivos que deseas que activen 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 filtroincludedFiles
, se activa una compilación. El valor predeterminado es vacío. Un valor vacío indica que no hay restricciones.IGNORED_FILES
con una expresión regular opcional en formato RE2 que coincida con los archivos que no deseas que activen 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
contrue
para inhabilitar el activador ofalse
para habilitarlo Este campo es opcional. El valor predeterminado esfalse
.VARIABLE_NAME
por el nombre de una variable que deseas introducir en tu archivo de activadoresVARIABLE_VALUE
con 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
con el valor con el que deseas anular el valor predeterminado de la variable de sustitución predeterminada.
Confirma el archivo de configuración del activador en tu rama predeterminada.
Después de confirmar el archivo de activadores, Secure Source Manager activa compilaciones según la configuración de tu archivo de activadores.
Secure Source Manager lee los archivos de configuración y el SHA de la confirmación o la referencia de Git asociados de los siguientes tipos de eventos:
- En el caso de los eventos
push
, Secure Source Manager leerá el SHA de la confirmación o la referencia de Git cuando se complete la inserción. - En el caso de los eventos
pull_request
, Secure Source Manager leerá el SHA de confirmación o la referencia de Git cuando se extraigan los cambios de la solicitud de extracción.
- En el caso de los eventos
Cómo ver el estado de la compilación
Cuando una compilación se activa por un evento de solicitud de extracción o envío, el estado de la compilación y la confirmación se muestran en la interfaz web de Secure Source Manager.
Los valores posibles para el estado de compilación son los siguientes:
SUCCESS: La compilación se completó correctamente.
ADVERTENCIA: Se produjo un problema al intentar compilar.
FAILURE: La compilación falló 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 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 compilación de un evento de envío, haz lo siguiente:
En la interfaz web de Secure Source Manager, navega a tu repositorio.
Si el evento de envío más reciente activó 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.
Para ver el estado de 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 compilación de un evento de solicitud de extracción, haz lo siguiente:
- En la interfaz web de Secure Source Manager, haz clic en Pull requests.
Haz clic en la solicitud de extracción que quieras ver.
Si la solicitud de extracción activó compilaciones, verás una sección titulada All checks were successful o Some checks reported warnings.
Solucionar problemas
Si deseas 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?
- Obtén más información para ver los resultados de la compilación en Cloud Build.
- Obtén más información para solucionar errores de compilación.