Prima di iniziare
- Crea un'istanza Secure Source Manager.
- Crea un repository Secure Source Manager.
- Configura un service account specificato dall'utente Cloud Build.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per connettere un repository Secure Source Manager a Cloud Build, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Secure Source Manager Repository Writer (
roles/securesourcemanager.repoWriter
) sul tuo repository -
Funzione di accesso alle istanze Secure Source Manager (
roles/securesourcemanager.instanceAccessor
) nell'istanza Secure Source Manager
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per informazioni sulla concessione dei ruoli Secure Source Manager, consulta Controllo dell'accesso con IAM e Concedere agli utenti l'accesso all'istanza.
Ruoli del account di servizio obbligatori
Per creare build e ottenere lo stato della build da Cloud Build, concedi all'agente di servizio Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
) i seguenti ruoli Identity and Access Management (IAM):
- Ruolo Editor Cloud Build
(
roles/cloudbuild.builds.editor
) sul progetto in cui hai attivato Cloud Build. - Ruolo Utente service account
(
roles/iam.serviceAccountUser
) sul account di servizio Cloud Build o sul progetto con cui è stato creato il account di servizio Cloud Build. - Se il progetto in cui hai abilitato Cloud Build è diverso da quello in cui è abilitato Secure Source Manager, concedi il ruolo Consumer servizi (
roles/serviceusage.serviceUsageConsumer
) nel progetto Cloud Build. - Se le build vengono eseguite nei pool di worker, concedi al account di servizio Secure Source Manager il ruolo Utente worker pool Cloud Build (
roles/cloudbuild.workerPoolUser
) nel progetto Cloud Build.
Per consentire a Cloud Build di leggere dal repository Secure Source Manager, concedi al service account Cloud Build i seguenti ruoli IAM:
- Ruolo Secure Source Manager Instance Accessor
(
roles/securesourcemanager.instanceAccessor
) nell'istanza Secure Source Manager. - Ruolo Lettore repository Secure Source Manager sul repository Secure Source Manager che vuoi connettere a Cloud Build.
A seconda del caso d'uso, l'account di servizio Cloud Build potrebbe richiedere ruoli IAM aggiuntivi per eseguire le build, ad esempio:
- Per archiviare i log di build in Cloud Logging, concedi il ruolo Writer log alaccount di serviziot Cloud Build.
- Per accedere ai secret in Secret Manager, concedi il ruolo
Secret Manager Secret Accessor
(
roles/secretmanager.secretAccessor
) al service account Cloud Build.
Per informazioni su come concedere ruoli IAM a un service agent, vedi Concedere o revocare un singolo ruolo.
Per informazioni sui log di build, vedi Configurare i log di build.
Crea un file di configurazione di compilazione
Un file di configurazione della build definisce i campi necessari a Cloud Build per eseguire le attività di build. Puoi scrivere il file di configurazione della build utilizzando la sintassi YAML.
Puoi creare file di configurazione della build nel ramo o nei rami da cui vuoi eseguire la build.
Per creare un file di configurazione di compilazione:
- Nell'interfaccia web di Secure Source Manager, seleziona il repository che vuoi connettere a Cloud Build.
- Seleziona il ramo da cui vuoi eseguire la build utilizzando Cloud Build.
Crea un file di configurazione di compilazione. Per informazioni su come creare file di configurazione della build, segui le istruzioni riportate in Creare un file di configurazione della build.
Esegui il commit delle modifiche al ramo.
Creare un file di trigger
Il file di configurazione dei trigger deve essere creato nel ramo predefinito del repository.
Per creare un file di configurazione dei trigger:
- Nel repository locale o nell'interfaccia web di Secure Source Manager, passa al branch predefinito.
Crea un file denominato
.cloudbuild/triggers.yaml
.Configura il trigger nel file
.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
Sostituisci quanto segue:
TRIGGER_NAME
con un nome per l'attivatore. I nomi dei trigger possono contenere solo caratteri alfanumerici e trattini e non possono iniziare o terminare con un trattino. I nomi dei trigger devono essere inferiori a 64 caratteri.PROJECT_ID
con l'ID progetto Google Cloud in cui hai attivato Cloud Build. Questo campo è facoltativo. Il valore predefinito è il progetto Secure Source Manager.CLOUD_BUILD_CONFIG_PATH
con il percorso del file di configurazione di Cloud Build che vuoi utilizzare per questo trigger. Questo campo è facoltativo. Il valore predefinito è.cloudbuild/cloudbuild.yaml
EVENT_TYPE
con il tipo di evento che vuoi attivare la build. Le opzioni sono le seguenti:push
per attivare il push ai rami specificatipull_request
per attivare una richiesta di pull per i rami specificati
Questo campo è facoltativo. Il valore predefinito è
push
.INCLUDED_GIT_REFS
con un formato di espressione regolare RE2 facoltativo che corrisponde ai riferimenti Git che vuoi attivare per una build. Il valore predefinito è vuoto. Un valore vuoto indica che non sono presenti limitazioni.IGNORED_GIT_REFS
con un'espressione regolare facoltativa che utilizza il formato dell'espressione regolare RE2 che corrisponde ai riferimenti Git per cui non vuoi attivare una build. Il valore predefinito è vuoto. Un valore vuoto indica che non sono previste limitazioni. Il campoignoredGitRefs
viene controllato prima del campoincludedGitRefs
. Per ulteriori informazioni su questi campi, consulta la sezione Schema del file dei trigger.SERVICE_ACCOUNT
con il service account Cloud Build da utilizzare per la build nel formatoprojects/PROJECT_ID/serviceAccounts/ACCOUNT
. Sostituisci ACCOUNT con l'indirizzo email o l'ID univoco del account di servizio. Come best practice, configura un service account specificato dall'utente. Il account di servizio Cloud Build legacy non può essere utilizzato a causa dei suoi limiti.INCLUDED_FILES
con un'espressione regolare facoltativa in formato RE2 che corrisponde ai file per cui vuoi attivare una build.Se uno dei file modificati non corrisponde al campo filtro
ignoredFiles
e i file modificati corrispondono al campo filtroincludedFiles
, viene attivata una build. Il valore predefinito è vuoto. Un valore vuoto indica che non sono presenti limitazioni.IGNORED_FILES
con un'espressione regolare facoltativa in formato RE2 che corrisponde ai file per i quali non vuoi attivare una build.Se tutti i file modificati in un commit corrispondono a questo campo del filtro, una build non viene attivata. Il valore predefinito è vuoto. Un valore vuoto indica che non sono presenti restrizioni.
DISABLED_BOOL
contrue
per disattivare il trigger oppurefalse
per attivarlo. Questo campo è facoltativo. Il valore predefinito èfalse
.VARIABLE_NAME
con il nome di una variabile che vuoi introdurre nel file dei trigger.VARIABLE_VALUE
con il valore della variabile.OVERRIDE_VARIABLE_NAME
con il nome della variabile di sostituzione predefinita di Secure Source Manager. Per informazioni sulle variabili di sostituzione predefinite disponibili, consulta la sezione delle sostituzioni dello schema del file dei trigger.OVERRIDE_VARIABLE_VALUE
con il valore con cui vuoi sostituire il valore predefinito della variabile di sostituzione predefinita.
Esegui il commit del file di configurazione dell'attivatore nel branch predefinito.
Dopo il commit del file di trigger, Secure Source Manager attiva le build in base alla configurazione nel file di trigger.
Secure Source Manager legge i file di configurazione e la SHA del commit o il riferimento Git associato dei seguenti tipi di eventi:
- Per gli eventi
push
, Secure Source Manager leggerà lo SHA del commit o il riferimento Git al termine del push. - Per gli eventi
pull_request
, Secure Source Manager leggerà lo SHA del commit o il riferimento Git quando le modifiche della richiesta pull vengono estratte.
- Per gli eventi
Visualizzare lo stato della build
Quando una build viene attivata da un evento push o pull request, lo stato del commit e della build viene visualizzato nell'interfaccia web di Secure Source Manager.
I valori possibili per lo stato della build sono i seguenti:
SUCCESS: la build è stata completata correttamente.
AVVISO: si è verificato un problema durante il tentativo di compilazione.
ERRORE: la build non è riuscita durante l'esecuzione.
Puoi impedire l'unione dei commit con build non riuscite in rami importanti se configuri una regola di protezione del ramo in modo che richieda un controllo dello stato riuscito dai trigger configurati nel file dei trigger. Per scoprire di più sulla protezione dei rami, leggi la panoramica della protezione dei rami.
Per visualizzare lo stato della build per un evento push:
Nell'interfaccia web di Secure Source Manager, vai al tuo repository.
Se l'evento push più recente ha attivato una build, lo stato viene visualizzato accanto all'SHA del commit. Per visualizzare i dettagli di uno stato, fai clic sullo stato.
Per visualizzare lo stato della build per i commit precedenti, seleziona Commit per visualizzare la cronologia dei commit, quindi fai clic sullo stato di cui vuoi visualizzare i dettagli.
Per visualizzare lo stato della build per un evento di richiesta pull:
- Nell'interfaccia web di Secure Source Manager, fai clic su Pull request.
Fai clic sulla richiesta di pull che vuoi visualizzare.
Se le build sono state attivate dalla richiesta di pull, vedrai una sezione intitolata Tutti i controlli sono stati superati o Alcuni controlli hanno segnalato avvisi.
Risoluzione dei problemi
Per trovare metodi per diagnosticare e risolvere gli errori di Cloud Build durante la connessione a Secure Source Manager, consulta Il file dei trigger non attiva la build.
Passaggi successivi
- Scopri come visualizzare i risultati della build in Cloud Build.
- Scopri come risolvere gli errori di build.