Build-Abhängigkeiten verwalten

Auf dieser Seite wird erläutert, wie Sie Build-Abhängigkeiten angeben können. Mit Cloud Build können Sie Quellcode-Abhängigkeiten getrennt vom Build-Prozess verwalten.

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

Wenn Sie in der Build-Konfigurationsdatei keine Abhängigkeiten angeben, klont Cloud Build das Quellcode-Repository, das die Build-Konfigurationsdatei enthält (für ausgelöste Builds), oder das Repository, das den Quellcode enthält (für Builds, die Sie über die Befehlszeile aufrufen). Wenn Sie in der Build-Konfigurationsdatei Abhängigkeiten angeben, klont Cloud Build nur Repositories, die im Feld dependencies angegeben sind.

Abhängigkeiten werden in der von Ihnen angegebenen Reihenfolge geklont. Außerdem erfolgt das Abrufen von Abhängigkeiten, bevor eine vom Nutzer angegebene Logik ausgeführt wird. Daher ist das Abrufen von Abhängigkeiten vertrauenswürdig.

Abhängigkeiten werden auf der Seite Build-Details auf dem Tab Build-Abhängigkeiten angezeigt.

Hinweis

Bei den Anweisungen auf dieser Seite wird davon ausgegangen, dass Sie mindestens einen der folgenden beiden Repository-Typen haben:

Bitten Sie Ihren Administrator, dem Dienstkonto die IAM-Rolle „Developer Connect Read Token Accessor“ (developerconnect.readTokenAccessor) zu gewähren, damit die erforderlichen Berechtigungen zum Hinzufügen eines Developer Connect-Repositorys als Abhängigkeit hat. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann die erforderlichen Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Abhängigkeiten angeben

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

GitHub-Abhängigkeiten angeben

Wenn Sie eine Abhängigkeit von einem GitHub-Repository angeben möchten, fügen Sie der Build-Konfigurationsdatei die folgende dependencies-Konfiguration hinzu:

YAML

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

JSON

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

Ersetzen Sie die folgenden Werte:

  • URL: Die HTTPS-URL des abzurufenden Repositorys. Erforderlich, es sei denn, Ihr Repository ist über Developer Connect mit Cloud Build verbunden.

  • DC_RESOURCE_PATH: Der Google Cloud Ressourcenpfad zu einem Developer Connect-Repository. Beispiel: projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Erforderlich, wenn Ihr Repository über Developer Connect mit Cloud Build verbunden ist.

    Wenn Ihr Repository über Developer Connect verbunden ist, benötigen Sie Folgendes:

  • REVISION: Erforderlich. Die Version, der Commit-Hash, das Tag oder der Zweigname, der aus dem Repository abgerufen werden soll.

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

  • DEPTH: Optional. Gibt an, wie tief in der Repository-Historie abgerufen werden soll. Wenn nicht angegeben, 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 wird. Beispiel: my/repo.

    Wenn Sie das dest_path festlegen, wird das Repository in /workspace/<dest_path> abgerufen. Der Wert dest_path muss ein Pfad relativ zum Arbeitsverzeichnis des Builds sein.

Generisches Artefakt als Abhängigkeit angeben

Wenn Sie ein generisches Artefakt als Abhängigkeit angeben möchten, fügen Sie der Build Konfigurationsdatei die folgende dependencies Konfiguration hinzu:

YAML

dependencies:
- genericArtifact:
    resource: RESOURCE
    destPath: PATH

JSON

{
  "dependencies": [
    {
      "genericArtifact": {
        "resource": "RESOURCE",
        "destPath": "PATH"
      }
    }
  ]
}

Wobei:

  • RESOURCE ist die vollständige Adresse des generischen Artefakts in Ihrem generischen Artifact Registry-Repository im folgenden Format:

    projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/packages/PACKAGE/versions/VERSION

    Wir empfehlen dringend, den Fingerabdruck des Artefakts in die Ressourcenadresse aufzunehmen, damit Cloud Build prüfen kann, ob die Artefaktreferenz unveränderlich ist. Eine Paketversion mit angehängtem Fingerabdruck wird so formatiert:

    VERSION@dirsum_sha256=HASH_VALUE

    Informationen zum Ermitteln des Fingerabdrucks eines Artefakts in einem Artifact Registry-Repository finden Sie unter Fingerabdruck einer Paketversion im Repository abrufen.

  • PATH ist die Adresse des Ordners, in den Cloud Build das Paket aus Ihrem Repository herunterlädt. Wenn der Ordner noch nicht vorhanden ist, wird er von Cloud Build automatisch erstellt.

Nächste Schritte