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:
Ein Git-Repository, das entweder ein öffentliches Repository ist oder verknüpft über Developer Connect mit Cloud Build ist.
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:
- Das Cloud Build-Dienstkonto muss die
Developer Connect Read Token AccessorRolle haben.
- Das Cloud Build-Dienstkonto muss die
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 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 das
dest_pathfestlegen, wird das Repository in/workspace/<dest_path>abgerufen. Der Wertdest_pathmuss 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/VERSIONWir 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_VALUEInformationen 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
Informationen zum Verbinden eines Repositorys mit Cloud Build über Cloud Build-Repositories.
Informationen zum Verbinden eines Repositorys mit Cloud Build über Developer Connect