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 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:
- Escritor de repositorios de Secure Source Manager (
roles/securesourcemanager.repoWriter) en tu repositorio - Descriptor de acceso a instancias de Secure Source Manager (
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 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:
- Rol de acceso a instancias de Secure Source Manager role
(
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 que deseas conectar a Cloud Build.
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 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 descriptor de acceso a secretos de Secret Manager
(
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 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:
- 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 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:
- 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_VALUEReemplaza lo siguiente:
TRIGGER_NAMEpor 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_IDpor 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_PATHcon 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_TYPEpor el tipo de evento que deseas activar la compilación. Las opciones son las siguientes:pushpara activar la inserción en las ramas especificadaspull_requestpara activar una solicitud de extracción en las ramas especificadas
Este campo es opcional. El valor predeterminado es
push.INCLUDED_GIT_REFScon 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_REFSpor 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 campoignoredGitRefsse verifica antes que el campoincludedGitRefs. Para obtener más información sobre estos campos, consulta Esquema del archivo de activadores.SERVICE_ACCOUNTpor 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. La cuenta de servicio heredada de Cloud Build no se puede usar debido a sus limitaciones.INCLUDED_FILESpor 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
ignoredFilesy 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_FILESpor 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_BOOLportruepara inhabilitar el activador ofalsepara habilitarlo. Este campo es opcional. El valor predeterminado esfalse.VARIABLE_NAMEpor el nombre de una variable que deseas introducir en tu archivo de activadores.VARIABLE_VALUEpor el valor de la variable.OVERRIDE_VARIABLE_NAMEpor 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_VALUEpor 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.
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.
- Para los eventos
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:
SUCCESS: La compilación se completó correctamente.
WARNING: Se produjo un problema cuando se intentó compilar.
FAILURE: 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:
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.
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:
- En la interfaz web de Secure Source Manager, haz clic en Solicitudes de extracción.
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?
- Aprende a ver los resultados de la compilación en Cloud Build.
- Obtén más información para solucionar errores de compilación.