Gestire le dipendenze di compilazione

Questa pagina spiega come specificare le dipendenze di compilazione. Cloud Build consente di gestire le dipendenze del codice sorgente separatamente dal processo di compilazione.

Nel file di configurazione della build, puoi elencare uno o più repository Git da clonare per la build e l'ordine in cui recuperarli. Se specifichi le dipendenze in questo modo, il recupero delle dipendenze viene separato dal processo di compilazione.

Se non includi dipendenze nel file di configurazione della build, Cloud Build clona il repository del codice sorgente contenente il file di configurazione della build (per le build attivate) o il repository contenente il codice sorgente (per le build richiamate dalla riga di comando). Se includi le dipendenze nel file di configurazione di compilazione, Cloud Build non esegue la clonazione dei repository non specificati nel campo dependencies.

Qualsiasi repository di codice sorgente specificato nel campo dependencies deve essere collegato a Cloud Build utilizzando Developer Connect oppure deve essere un repository pubblico

Le dipendenze vengono clonate nell'ordine in cui le specifichi in questa configurazione. Inoltre, il recupero delle dipendenze avviene prima dell'esecuzione di qualsiasi logica specificata dall'utente. Di conseguenza, il recupero delle dipendenze è attendibile.

Prima di iniziare

Le istruzioni riportate in questa pagina presuppongono che tu abbia uno o più repository Git che siano repository pubblici o collegati utilizzando Developer Connect.

Ruoli obbligatori

Se un repository che aggiungi come dipendenza è un repository Developer Connect, il tuo account di servizio deve disporre del ruolo Accesso token di lettura di Developer Connect:

A questo si aggiungono eventuali altri ruoli Cloud Build di cui hai bisogno.

Specifica delle dipendenze

Specifica le dipendenze aggiungendo una stanza dependencies al file di configurazione della compilazione. dependencies è una proprietà di primo livello nella configurazione di compilazione, ma puoi inserirla ovunque nel file.

Di seguito è riportata la sintassi per la stanza dependencies:

YAML

 dependencies:
 - gitSource:
     repository:
       url: 'URL'
       developerConnect: 'RESOURCE_PATH'
     revision: 'REVISION'
     recurseSubmodules: 'true|false'
     depth: DEPTH'
     destPath: 'DEST_PATH'

JSON

 {
     "dependencies": {
         "gitSource": {
             "repository": {
                 "url": "URL"
                 "developerConnect": "RESOURCE_PATH"
             },
             "revision": "REVISION",
             "recurseSubmodules": true|false,
             "depth": "DEPTH",
             "destPath": "DEST_PATH",
         },
     },
 }

Sostituisci i seguenti valori:

  • URL: facoltativo. L'URL HTTPS del repository da recuperare. Devi specificare un URL o un percorso della risorsa Developer Connect.

  • RESOURCE_PATH: facoltativo. Il Google Cloud percorso della risorsa al repository Developer Connect. Ad esempio, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Devi specificare un URL o un percorso della risorsa Developer Connect. Specifica questo campo se il repository da recuperare è collegato a Cloud Build tramite Developer Connect.

  • REVISION: obbligatorio. La versione, l'hash del commit, il tag o il nome del ramo da recuperare dal repository.

  • recurseSubmodules: "true|false": indica se recuperare i sottomoduli.

  • DEPTH: facoltativo, la profondità della cronologia del repository da recuperare. Se non viene specificato, viene recuperato il commit più recente.

    • 1: il commit più recente
    • 2: gli ultimi due commit
    • 3: gli ultimi tre commit
    • -1: tutti i commit
  • DEST_PATH: obbligatorio. Il percorso della directory in cui verrà clonato il repository. Ad esempio, my/repo.

    Quando imposti dest_path, il repository verrà recuperato in /workspace/<dest_path>. Il valore dest_path deve essere un percorso relativo e deve fare riferimento alla directory di lavoro della compilazione.

Specificare un repository Developer Connect come dipendenza

  • Se specifichi un repository Developer Connect come dipendenza, devi concedere il ruolo Developer Connect Read Token Accessor all'account di servizio Cloud Build. Per ulteriori informazioni, consulta Concedere l'accesso a Cloud Build a un repository Developer Connect.

  • La compilazione deve trovarsi nella stessa regione della connessione Developer Connect.

Passaggi successivi