Gestire le dipendenze di compilazione

Questa pagina spiega come specificare le dipendenze di build. Cloud Build ti 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. La specifica delle dipendenze in questo modo separa il recupero delle dipendenze dal processo di build vero e proprio.

Se non includi dipendenze nel file di configurazione della build, Cloud Build clona il repository di codice sorgente che contiene il file di configurazione della build (per le build attivate) o il repository che contiene il codice sorgente (per le build richiamate dalla riga di comando). Se includi le dipendenze nel file di configurazione della build, Cloud Build non clona i 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. Pertanto, il recupero delle dipendenze è attendibile.

Le dipendenze vengono visualizzate nella scheda Dipendenze build della pagina Dettagli build.

Prima di iniziare

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

Per ottenere le autorizzazioni necessarie per aggiungere un repository Developer Connect come dipendenza, chiedi all'amministratore di concederti il ruolo IAM Developer Connect Read Token Accessor (developerconnect.readTokenAccessor) neaccount di servizioccount. Per saperne di più 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.

Specifica delle dipendenze

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

Di seguito è riportata la sintassi della sezione 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 percorso della risorsa Google Cloud a quel 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 è connesso a Cloud Build utilizzando 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 specificato, viene recuperato l'ultimo commit.

    • 1: l'ultimo commit
    • 2: gli ultimi due commit
    • 3: gli ultimi tre commit
    • -1: tutti i commit
  • DEST_PATH: obbligatorio. Il percorso della directory in cui viene clonato il repository. Ad esempio, my/repo.

    Quando imposti dest_path, il repository viene recuperato in /workspace/<dest_path>. Il valore di dest_path deve essere un percorso relativo alla directory di lavoro della build.

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 la pagina Concedere a Cloud Build l'accesso a un repository Developer Connect.

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

Passaggi successivi