Build-Abhängigkeiten verwalten

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

In Ihrer Build-Konfigurationsdatei können Sie ein oder mehrere Repositorys auflisten, die für Ihren 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 Buildprozess selbst getrennt.

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

Abhängigkeiten werden in der Reihenfolge geklont, in der Sie sie angeben. Außerdem werden Abhängigkeiten abgerufen, bevor benutzerdefinierte Logik ausgeführt wird. Das Abrufen von Abhängigkeiten ist also vertrauenswürdig.

Abhängigkeiten werden auf dem Tab Build-Abhängigkeiten auf der Seite Build-Details 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) für zuzuweisen, 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 Ihnen die erforderlichen Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Abhängigkeiten angeben

Sie geben Abhängigkeiten an, indem Sie Ihrer Build-Konfigurationsdatei das Feld dependencies hinzufügen. dependencies ist eine Eigenschaft der obersten Ebene in der Build-Konfiguration, Sie können sie aber an einer beliebigen Stelle in der Datei platzieren.

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 Repositorys, das abgerufen werden soll. 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 Branchname, der aus dem Repository abgerufen werden soll.

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

  • DEPTH: Optional. Gibt an, wie weit in der Repository-Historie zurückgegangen 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 dest_path festlegen, wird das Repository in /workspace/<dest_path> abgerufen. Der Wert dest_path muss ein Pfad relativ zum Arbeitsverzeichnis des Builds sein.

Allgemeines 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 Ihres Artefakts in die Ressourcenadresse aufzunehmen, damit Cloud Build überprüfen kann, ob die Artefaktreferenz unveränderlich ist. Eine Paketversion mit angehängtem Fingerabdruck wird so formatiert:

    VERSION@dirsum_sha256=HASH_VALUE

    Informationen zum Suchen des Fingerabdrucks eines Artefakts in einem Artifact Registry-Repository finden Sie unter Fingerabdruck einer Paketversion in Ihrem 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