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:
Ein Git-Repository, das entweder ein öffentliches Repository ist oder über Developer Connect mit Cloud Build verknüpft ist.
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:
- Das Cloud Build-Dienstkonto muss die Rolle
Developer Connect Read Token Accessorhaben.
- Das Cloud Build-Dienstkonto muss die Rolle
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 Commit2: die letzten beiden Commits3: 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_pathfestlegen, wird das Repository in/workspace/<dest_path>abgerufen. Der Wertdest_pathmuss 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/VERSIONWir 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_VALUEInformationen 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.