Build-Abhängigkeiten verwalten

Auf dieser Seite wird erläutert, wie Sie Buildabhängigkeiten angeben. Mit Cloud Build können Sie Quellcodeabhängigkeiten getrennt vom Buildprozess verwalten.

In der Build-Konfigurationsdatei können Sie ein oder mehrere Git-Repositories auflisten, die für Ihren Build geklont werden sollen, und die Reihenfolge, in der sie abgerufen werden sollen. Wenn Sie Abhängigkeiten auf diese Weise angeben, wird der Abruf von Abhängigkeiten vom Buildprozess getrennt.

Wenn Sie keine Abhängigkeiten in Ihre Build-Konfigurationsdatei aufnehmen, klont Cloud Build das Quellcode-Repository, das Ihre Build-Konfigurationsdatei enthält (bei ausgelösten Builds) oder das Repository, das Ihren Quellcode enthält (bei Builds, die Sie über die Befehlszeile aufrufen). Wenn Sie Abhängigkeiten in Ihrer Build-Konfigurationsdatei angeben, klont Cloud Build keine Repositories, die nicht im Feld dependencies angegeben sind.

Jedes Quellcode-Repository, das Sie im Feld dependencies angeben, muss über Developer Connect mit Cloud Build verbunden sein oder ein öffentliches Repository sein.

Abhängigkeiten werden in der Reihenfolge geklont, in der Sie sie in dieser Konfiguration angeben. Außerdem wird das Abrufen von Abhängigkeiten ausgeführt, bevor eine vom Nutzer angegebene Logik ausgeführt wird. Das Abrufen von Abhängigkeiten gilt daher als vertrauenswürdig.

Hinweise

In der Anleitung auf dieser Seite wird davon ausgegangen, dass Sie ein oder mehrere Git-Repositories haben, die entweder öffentliche Repositories sind oder über Developer Connect verknüpft wurden.

Erforderliche Rollen

Wenn eines der Repositories, das Sie als Abhängigkeit hinzufügen, ein Developer Connect-Repository ist, benötigt Ihr Dienstkonto die Rolle Developer Connect Read Token Accessor:

Diese Rolle ist zusätzlich zu allen anderen erforderlichen Cloud Build-Rollen erforderlich.

Abhängigkeiten angeben

Abhängigkeiten werden angegeben, indem Sie Ihrer Build-Konfigurationsdatei eine dependencies-Stanza hinzufügen. dependencies ist eine Eigenschaft der obersten Ebene in der Build-Konfiguration, kann aber an einer beliebigen Stelle in der Datei platziert werden.

Die Syntax für den dependencies-Abschnitt sieht so aus:

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",
         },
     },
 }

Ersetzen Sie die folgenden Werte:

  • URL: Optional. Die HTTPS-URL des zu abrufenden Repositorys. Sie müssen entweder eine URL oder einen Developer Connect-Ressourcenpfad angeben.

  • RESOURCE_PATH: Optional. Der Google Cloud Ressourcenpfad zu diesem Developer Connect-Repository. Beispiel: projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Sie müssen entweder eine URL oder einen Developer Connect-Ressourcenpfad angeben. Geben Sie dieses Feld an, wenn das abzurufende Repository über Developer Connect mit Cloud Build verbunden ist.

  • REVISION: erforderlich. Die Version, der Commit-Hash, das Tag oder der Name des Branches, der aus dem Repository abgerufen werden soll.

  • recurseSubmodules: „true|false“: Gibt an, ob Untermodule abgerufen werden sollen.

  • DEPTH: Optional: Wie weit in den Repository-Verlauf hinein abgerufen werden soll. Wenn keine Angabe erfolgt, wird der letzte Commit abgerufen.

    • 1: der letzte Commit
    • 2: die letzten beiden Commits
    • 3: die letzten drei Commits
    • -1: alle Commits
  • DEST_PATH: erforderlich. Der Pfad zum Verzeichnis, in das das Repository geklont werden soll. Beispiel: my/repo.

    Wenn Sie dest_path festlegen, wird das Repository in /workspace/<dest_path> abgerufen. Der Wert für dest_path muss ein relativer Pfad sein, der sich auf das Arbeitsverzeichnis des Builds bezieht.

Developer Connect-Repository als Abhängigkeit angeben

  • Wenn Sie ein Developer Connect-Repository als Abhängigkeit angeben, müssen Sie dem Cloud Build-Dienstkonto die Rolle Developer Connect Read Token Accessor zuweisen. Weitere Informationen finden Sie unter Cloud Build Zugriff auf ein Developer Connect-Repository gewähren.

  • Ihr Build muss sich in derselben Region wie die Developer Connect-Verbindung befinden.

Nächste Schritte