Mit Cloud Build können Sie Trigger erstellen, um Builds aus Repositories auszuführen, die auf Bitbucket Server gehostet werden. Sie können Builds als Reaktion auf Ereignisse wie Commit-Pushes oder Merge-Anfragen ausführen, die mit Ihrem Bitbucket Server-Repository verknüpft sind.
Auf dieser Seite wird erläutert, wie Sie Buildtrigger für eine Bitbucket Server-Instanz aktivieren. Weitere Informationen finden Sie unter Cloud Build-Trigger und Cloud Build-Repositories.
Hinweise
- Wenn Sie noch keine Bitbucket-Serverinstanz installiert haben, finden Sie in der Installationsanleitung für Bitbucket eine entsprechende Anleitung.
- Folgen Sie der Anleitung zum Herstellen einer Verbindung zu einem Bitbucket-Serverhost.
- Folgen Sie der Anleitung zum Herstellen einer Verbindung zu einem Bitbucket Server-Repository.
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Bitbucket Server-Trigger erstellen
In diesem Abschnitt wird erläutert, wie Sie Ihre Bitbucket Server-Repositories mit Cloud Build verbinden und einen Trigger erstellen, um Builds in Ihren verbundenen Repositories automatisch aufzurufen. Wenn Sie Bitbucket Server-Trigger in einem privaten Netzwerk verwenden möchten, finden Sie weitere Informationen unter Repositories über Bitbucket Server in einem privaten Netzwerk erstellen.
Google Cloud console
So erstellen Sie Bitbucket Server-Trigger mit der Google Cloud Console:
Öffnen Sie in der Google Cloud Console die Seite Trigger.
Wählen Sie Ihr Google Cloud -Projekt aus und klicken Sie auf Öffnen.
Klicken Sie auf Trigger erstellen.
Geben Sie die folgenden Triggereinstellungen ein:
Name: Geben Sie einen Namen für den Trigger ein.
Region: Wählen Sie die Region für den Trigger aus.
- Wenn in der Build-Konfigurationsdatei, die mit dem Trigger verknüpft ist, ein privater Pool angegeben ist, verwendet Cloud Build den privaten Pool, um den Build auszuführen. In diesem Fall muss die Region, die Sie in Ihrem Trigger angeben, mit der Region übereinstimmen, in der Sie Ihren privaten Pool erstellt haben.
- Wenn in der mit dem Trigger verknüpften Build-Konfigurationsdatei kein privater Pool angegeben ist, verwendet Cloud Build den Standardpool, um den Build in derselben Region wie der Trigger auszuführen.
Beschreibung (optional): Geben Sie eine Beschreibung für den Trigger ein.
Ereignis: Wählen Sie das Repository-Ereignis aus, das den Trigger auslösen soll.
Push zu Zweig: Legen Sie den Trigger so fest, dass ein Build für Commits zu einem bestimmten Zweig gestartet wird.
Neues Tag mit Push übertragen: Legen Sie den Trigger so fest, dass ein Build für Commits gestartet wird, die ein bestimmtes Tag enthalten.
Pull-Anfrage: Legen Sie den Trigger so fest, dass ein Build für Commits zu einer Pull-Anfrage gestartet wird.
Quelle: Konfigurieren Sie Informationen zu Ihrem Bitbucket Server-Repository:
Repository-Dienst: Wählen Sie Cloud Build-Repositories aus.
Repository-Generation: Wählen Sie 1. Generation als Quelle aus.
Repository: Wählen Sie aus der Liste der verfügbaren Repositories das gewünschte Repository aus.
Zweig oder Tag: Geben Sie einen regulären Ausdruck mit dem abzugleichenden Zweig- oder Tag-Wert an. Informationen zur zulässigen Syntax für reguläre Ausdrücke finden Sie unter RE2-Syntax.
Kommentarsteuerung: Wenn Sie Pull-Anfrage als Ereignis ausgewählt haben, wählen Sie eine der folgenden Optionen aus, um zu kontrollieren, ob ein Build automatisch vom Trigger ausgeführt wird:
Erforderlich, außer für Inhaber und Mitbearbeiter: Wenn eine Pull-Anfrage von einem Repository-Inhaber oder Mitbearbeiter erstellt oder aktualisiert wird, werden Builds automatisch vom Trigger ausgeführt. Wenn ein externer Mitwirkender die Aktion initiiert, werden Builds nur ausgeführt, nachdem ein Inhaber oder Mitbearbeiter
/gcbrun
zur Pull-Anfrage kommentiert hat.Erforderlich: Wenn eine Pull-Anfrage von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds erst ausgeführt, nachdem ein Inhaber oder Mitbearbeiter
/gcbrun
zu der Pull-Anfrage kommentiert hat. Builds werden jedes Mal ausgeführt, wenn eine Änderung an einem Pull-Request vorgenommen wird.Nicht erforderlich: Wenn eine Pull-Anfrage von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds automatisch durch Trigger ausgeführt.
Konfiguration: Wählen Sie die Build-Konfigurationsdatei aus, die sich in Ihrem Repository befindet, oder konfigurieren Sie den Build inline im Trigger.
Typ: Wählen Sie den Konfigurationstyp aus, der für Ihren Build verwendet werden soll.
- Cloud Build-Konfigurationsdatei (YAML oder JSON): Verwenden Sie eine Build-Konfigurationsdatei für Ihre Konfiguration.
- Dockerfile: Verwenden Sie für Ihre Konfiguration eine
Dockerfile
.
Speicherort: Geben Sie den Speicherort für Ihre Konfiguration an.
Repository: Wenn sich die Konfigurationsdatei in Ihrem Repository befindet, geben Sie den Speicherort Ihrer Build-Konfigurationsdatei oder des
Dockerfile
-Verzeichnisses und einen Namen für das resultierende Image an. Wenn Ihre Konfiguration eineDockerfile
ist, können Sie optional ein Zeitlimit für Ihren Build angeben. Wenn SieDockerfile
und den Image-Namen angegeben haben, sehen Sie eine Vorschau des Befehlsdocker build
für Ihren Build.Inline: Wenn Sie die Cloud Build-Konfigurationsdatei (YAML oder JSON) als Konfigurationsoption ausgewählt haben, können Sie die Build-Konfiguration inline angeben. Klicken Sie auf Editor öffnen, um Ihre Build-Konfigurationsdatei in derGoogle Cloud -Konsole in YAML- oder JSON-Syntax zu schreiben. Klicken Sie auf Fertig, um die Build-Konfiguration zu speichern.
Klicken Sie auf Erstellen, um den Bitbucket Cloud-Trigger zu erstellen.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um Bitbucket Server-Trigger mit gcloud
-Befehlen zu erstellen:
gcloud alpha builds triggers create developer connect
--name=TRIGGER_NAME \
--git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION \
--service-account=SERVICE-ACCOUNT
Wobei:
- TRIGGER_NAME ist der Name des Triggers.
- PROJECT_ID ist die Google Cloud Projekt-ID.
- REGION ist die Region des Triggers.
- CONNECTION_NAME ist der Name Ihrer Bitbucket-Serververbindung.
- GIT_REPOSITORY_LINK ist der Link zu Ihrem Git-Repository.
- BRANCH_PATTERN ist der Zweigname in Ihrem Repository, für den der Build aufgerufen werden soll.
- TAG_PATTERN ist der Tag-Name in Ihrem Repository, in dem der Build ausgelöst werden soll.
- BUILD_CONFIG_FILE ist der Pfad zu Ihrer Build-Konfigurationsdatei.
- SERVICE-ACCOUNT ist das Dienstkonto, das für Trigger- und Build-Vorgänge verwendet werden soll.
API
Verwenden Sie die folgende JSON-Vorlage, um einen Bitbucket Server-Trigger mit der API zu erstellen:
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"bitbucket_server_trigger_config": {
"repo_slug": "REPO_SLUG",
"project_key": "PROJECT_KEY",
"push": {
"branch": "BRANCH_NAME" # "tag": "TAG_NAME"
},
"bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID"
"comment_control": "COMMENT_SETTING"
}
}
Wobei:
- REPO_SLUG ist der Slug Ihres Bitbucket Server-Repositorys. Weitere Informationen finden Sie im Bitbucket-Leitfaden zu Repository-Slugs.
- PROJECT_KEY ist der Schlüssel Ihres Bitbucket Server-Projekts. Bei PROJECT_KEY wird die Groß-/Kleinschreibung berücksichtigt.
- BRANCH_NAME ist der reguläre Ausdruck Ihres Zweigs, wenn Sie den Trigger so einstellen möchten, dass bestimmte Zweige erstellt werden.
- TAG_NAME ist der reguläre Ausdruck Ihres Tags, wenn Sie den Trigger so einrichten möchten, dass bestimmte Tags erstellt werden.
- PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
- REGION ist die Region, die mit Ihrer Bitbucket Server-Konfiguration verknüpft ist.
- ID ist die ID Ihrer BitbucketServerConfig.
- Mit COMMENT_SETTING können Sie festlegen, ob Build-Trigger
/gcbrun
in einem Kommentar erfordern, damit der Build ausgeführt wird. Weitere Informationen finden Sie unter commentControl.
Geben Sie den folgenden curl
-Befehl in Ihr Terminal ein:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Wobei:
- PROJECT_NUMBER ist Ihre Google Cloud Projektnummer.
- PROJECT_ID ist die Google Cloud Projekt-ID.
Datenfreigabe
Anhand der Daten, die von Cloud Build an Bitbucket Server gesendet werden, können Sie Trigger nach Namen erkennen und Build-Ergebnisse in Bitbucket Server aufrufen.
Die folgenden Daten werden zwischen Cloud Build und Bitbucket Server geteilt:
- Google Cloud -Projekt-ID
- Triggername
Die Datenfreigabe ist für Bitbucket Server automatisch aktiviert.
Nächste Schritte
- Weitere Informationen finden Sie unter Build-Trigger erstellen und verwalten.
- Weitere Informationen zum Erstellen von Repositories über Bitbucket Server in einem privaten Netzwerk
- Weitere Informationen zu Blau/Grün-Bereitstellungen in der Compute Engine