Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

In Cloud Build einbinden

Auf dieser Seite wird beschrieben, wie Sie Cloud Build so konfigurieren, dass erstellte Artefakte in einem Artifact Registry-Repository gespeichert werden.

Hinweis

  1. Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
  2. Das Cloud Build-Standarddienstkonto hat Berechtigungen zum Hochladen und Herunterladen aus Repositories im selben Projekt. Wenn sich Cloud Build in einem anderen Projekt als Ihre Repositories befindet, müssen Sie dem Cloud Build-Dienstkonto in dem Projekt Berechtigungen erteilen.

Docker-Build konfigurieren

Nachdem Sie Berechtigungen für das Ziel-Repository erteilt haben, können Sie Docker zur Authentifizierung und zum Übertragen eines Pakets an das Repository konfigurieren. Das Einbinden über das Cloud Build-Dienstkonto wird empfohlen.

So konfigurieren Sie Docker:

  1. Richten Sie eine Authentifizierung für Docker ein.

  2. In Ihrer Build-Konfigurationsdatei fügen Sie die Schritte zum Erstellen und Übertragen der Images ein.

    Beispiel: Hier werden Werte für ein Image verwendet, das sich im selben Verzeichnis wie die Build-Konfigurationsdatei befindet:

    • Speicherort des Repositorys: us-central1
    • Die Projekt-ID des Builds, aufgelöst mit der Standardsubstitution: $PROJECT_ID.
    • Name des Repositorys: my-repo
    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}', '.' ]
    images:
    - 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}'
    

    Die Variablen${_REPOSITORY} und ${_IMAGE} werden für den Repository-Namen und den Namen des Images im Repository verwendet, damit sie bei der Build-Erstellung durch die benutzerdefinierten Cloud Build-Substitutionen ersetzt werden können.

    Diese Herangehensweise ist sinnvoll, wenn Sie dieselbe Build-Konfigurationsdatei verwenden möchten, um Images für Repositories in verschiedenen Umgebungen wie Tests, Staging oder Produktion zu übertragen.

    Mit diesem Befehl wird beispielsweise my-repo für den Repository-Namen und my-image für den Image-Namen ersetzt.

    gcloud builds submit --config=cloudbuild.yaml \
      --substitutions=_REPOSITORY="my-repo",_IMAGE="my-image" .
    

Maven-Build konfigurieren

Nachdem Sie Berechtigungen für das Ziel-Repository erteilt haben, können Sie Maven zur Authentifizierung und zum Übertragen eines Pakets an das Repository konfigurieren. Das Einbinden über das Cloud Build-Dienstkonto wird empfohlen.

So konfigurieren Sie Maven:

  1. Richten Sie die Authentifizierung für Maven ein. Achten Sie darauf, dass Sie in der Datei pom.xml das richtige Zielprojekt und Repository angeben.

  2. Fügen Sie Ihrer Cloud Build-Konfigurationsdatei einen Schritt hinzu, um das Paket mit Maven hochzuladen:

    steps:
    - name: gcr.io/cloud-builders/mvn
      args: ['deploy']
    

npm-Build konfigurieren

Nachdem Sie Berechtigungen für das Ziel-Repository erteilt haben, können Sie npm so konfigurieren, dass ein Zertifikat authentifiziert und an das Repository übertragen wird. Das Einbinden über das Cloud Build-Dienstkonto wird empfohlen.

So konfigurieren Sie npm:

  1. Richten Sie die Authentifizierung für npm ein. Achten Sie darauf, dass Sie in der Datei .npmrc das richtige Zielprojekt und Repository angeben.

  2. Platzieren Sie die Datei .npmrc im selben Verzeichnis wie Ihre Build-Konfigurationsdatei für Cloud Build, damit Cloud Build Ihre Authentifizierungseinstellungen finden kann.

  3. Fügen Sie den Schritt zum Hochladen des Pakets in das Repository in Ihre Build-Konfigurationsdatei ein.

    steps:
    - name: gcr.io/cloud-builders/npm
      args: ['publish', ${_PACKAGE}]
    

    Die Variable ${_PACKAGE} stellt das Paket dar. Ersetzen Sie diese benutzerdefinierte Cloud Build-Substitution durch den Speicherort des Pakets, den Ordner oder einen mit gzip komprimierten Tarball, der package.json und die anderen Dateien in Ihrem Paket enthält.

    Mit diesem Befehl wird ein Paket in ein Verzeichnis namens src hochgeladen, das sich im selben Verzeichnis wie die Datei .npmrc und die Build-Konfigurationsdatei befindet.

    gcloud builds submit --config=cloudbuild.yaml --substitutions=_PACKAGE="src" .