[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

Bitbucket-Integration

Sie können Ihr Bitbucket-Repository so konfigurieren, dass automatisch eine Umgebung erstellt und bereitgestellt wird, wenn Sie Code-Änderungen per Push übertragen. Diese Integration synchronisiert Ihr Bitbucket-Repository mit Ihrem Adobe Commerce in einem Cloud-Infrastrukturkonto.

NOTE
Adobe empfiehlt dringend die Verwendung eines privaten Repositorys für Ihr Adobe Commerce in einem Cloud-Infrastrukturprojekt, um proprietäre Informationen oder Entwicklungsarbeiten wie Erweiterungen und vertrauliche Konfigurationen zu schützen.

Voraussetzungen

  • Administratorzugriff auf das Adobe Commerce on Cloud-Infrastrukturprojekt
  • magento-cloud CLI-Tool in Ihrer lokalen Umgebung
  • Ein Bitbucket-Konto
  • Administratorzugriff auf das Bitbucket-Repository
  • Ein SSH-Zugriffsschlüssel für das Bitbucket-Repository

Repository vorbereiten

Klonen Sie Ihr Adobe Commerce in einem Cloud-Infrastrukturprojekt aus einer bestehenden Umgebung und migrieren Sie die Projektverzweigungen in ein neues, leeres Bitbucket-Repository, wobei dieselben Verzweigungsnamen beibehalten werden. Es ist wichtig eine identische Git-Struktur beizubehalten, damit Sie keine vorhandenen Umgebungen oder Verzweigungen in Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt verlieren.

  1. Melden Sie sich vom Terminal aus bei Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt an.

    code language-bash
    magento-cloud login
    
  2. Listen Sie Ihre Projekte auf und kopieren Sie die Projekt-ID.

    code language-bash
    magento-cloud project:list
    
  3. Klonen Sie das Projekt in Ihrer lokalen Umgebung.

    code language-bash
    magento-cloud project:get <project-ID>
    
  4. Fügen Sie Ihr Bitbucket-Repository als Remote-Datenquelle hinzu.

    code language-bash
    git remote add origin git@bitbucket.org:<user-name>/<repo-name>.git
    

    Der Standardname für die Remoteverbindung kann origin oder magento sein. Wenn origin vorhanden ist, können Sie einen anderen Namen auswählen oder den vorhandenen Verweis umbenennen oder löschen. Siehe Git-Remote-Dokumentation.

  5. Stellen Sie sicher, dass Sie den Bitbucket-Remote-Zugriff korrekt hinzugefügt haben.

    code language-bash
    git remote -v
    

    Erwartete Antwort:

    code language-none
    origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch)
    origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
    
  6. Übertragen Sie die Projektdateien in das neue Bitbucket-Repository. Denken Sie daran, alle Verzweigungsnamen gleich zu halten.

    code language-bash
    git push -u origin master
    

    Wenn Sie mit einem neuen Bitbucket-Repository beginnen, müssen Sie möglicherweise die Option -f verwenden, da das Remote-Repository nicht mit Ihrer lokalen Kopie übereinstimmt.

  7. Stellen Sie sicher, dass Ihr Bitbucket-Repository alle Ihre Projektdateien enthält.

Erstellen eines OAuth-Verbrauchers

Die Bitbucket-Integration erfordert einen OAuth-Verbraucher. Sie benötigen die OAuth-key und secret von diesem Verbraucher, um den nächsten Abschnitt abzuschließen.

So erstellen Sie einen OAuth-Verbraucher in Bitbucket:

  1. Melden Sie sich bei Ihrem Bitbucket-Konto an.

  2. Klicken Sie auf Einstellungen > Zugriffsverwaltung > OAuth.

  3. Klicken Sie Verbraucher hinzufügen und konfigurieren Sie ihn wie folgt:

    Bitbucket-OAuth-Verbraucherkonfiguration

    note warning
    WARNING
    Eine gültige Callback-URL ist nicht erforderlich, aber Sie müssen einen Wert in dieses Feld eingeben, um die Integration erfolgreich abzuschließen.
  4. Klicken Sie Speichern.

  5. Klicken Sie auf Verbraucher Name, um Ihre OAuth-key und -secret anzuzeigen.

  6. Kopieren Sie Ihre OAuth-key und -secret zum Konfigurieren der Integration.

Integration konfigurieren

  1. Navigieren Sie vom Terminal zu Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt.

  2. Erstellen Sie eine temporäre Datei mit dem Namen bitbucket.json und fügen Sie Folgendes hinzu. Ersetzen Sie dabei die Variablen in den spitzen Klammern durch Ihre Werte:

    code language-json
    {
      "type": "bitbucket",
      "repository": "<bitbucket-user-name/bitbucket-repo-name>",
      "app_credentials": {
        "key": "<oauth-consumer-key>",
        "secret": "<oauth-consumer-secret>"
      },
      "prune_branches": true,
      "fetch_branches": true,
      "build_pull_requests": true,
      "resync_pull_requests": true
    }
    
    note tip
    TIP
    Stellen Sie sicher, dass Sie den Namen Ihres Bitbucket-Repositorys und nicht die URL verwenden. Die Integration schlägt fehl, wenn eine URL verwendet wird.
  3. Fügen Sie die Integration mithilfe des magento-cloud CLI-Tools zu Ihrem Projekt hinzu.

    note warning
    WARNING
    Der folgende Befehl überschreibt all-Code in Ihrem Adobe Commerce in einem Cloud-Infrastrukturprojekt mit Code aus Ihrem Bitbucket-Repository. Dies umfasst alle Verzweigungen, einschließlich der production. Diese Aktion erfolgt sofort und kann nicht rückgängig gemacht werden. Als Best Practice ist es wichtig, alle Ihre Verzweigungen aus Ihrem Adobe Commerce in einem Cloud-Infrastrukturprojekt zu klonen und in Ihr Bitbucket-Repository zu pushen, die Bitbucket Integration hinzuzufügen.
    code language-bash
    magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
    

    Dadurch wird eine lange HTTP-Antwort mit Kopfzeilen zurückgegeben. Bei einer erfolgreichen Integration wird der Status-Code 200 oder 201 zurückgegeben. Ein Status von 400 oder höher zeigt an, dass ein Fehler aufgetreten ist.

  4. Löschen Sie die temporäre bitbucket.json.

  5. Überprüfen Sie die Projektintegration.

    code language-bash
    magento-cloud integrations -p <project-ID>
    
    code language-none
    +----------+-----------+--------------------------------------------------------------------------------+
    | ID       | Type      | Summary                                                                        |
    +----------+-----------+--------------------------------------------------------------------------------+
    | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int                                      |
    |          |           | Hook URL:                                                                      |
    |          |           | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook |
    +----------+-----------+--------------------------------------------------------------------------------+
    

    Notieren Sie sich die Hook-URL, um einen Webhook in BitBucket zu konfigurieren.

Webhook in BitBucket hinzufügen

Um Ereignisse - z. B. eine Push-Benachrichtigung - mit Ihrem Cloud Git-Server zu kommunizieren, ist ein Webhook für Ihr BitBucket-Repository erforderlich. Die Methode zum Einrichten einer auf dieser Seite beschriebenen Bitbucket-Integration erstellt bei korrekter Befolgung automatisch einen Webhook. Es ist wichtig, den Webhook zu überprüfen, um zu vermeiden, dass mehrere Integrationen erstellt werden.

  1. Melden Sie sich bei Ihrem Bitbucket-Konto an.

  2. Klicken Sie Repositorys und wählen Sie Ihr Projekt aus.

  3. Klicken Sie Repository-Einstellungen > Workflow > Webhooks.

  4. Überprüfen Sie den Webhook, bevor Sie fortfahren.

    Wenn der Hook aktiv ist, überspringen Sie die verbleibenden Schritte und Sie die Integration. Der Hook sollte einen Namen ähnlich "Adobe Commerce on Cloud Infrastructure <project_id>" und ein Hook-URL-Format ähnlich https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook haben.

  5. Klicken Sie Webhook hinzufügen.

  6. Bearbeiten in der Ansicht Neuen Webhook hinzufügen“ die folgenden Felder:

    • Title: Adobe Commerce-Integration
    • URL: Verwenden Sie die Hook-URL aus Ihrer magento-cloud-Integrationsliste
    • Trigger: Der Standardwert ist ein einfacher Repository-Push
  7. Klicken Sie Speichern.

Testen der Integration

Nach dem Konfigurieren der Bitbucket-Integration können Sie mithilfe der magento-cloud CLI überprüfen, ob die Integration funktionsfähig ist:

magento-cloud integration:validate

Sie können es auch testen, indem Sie eine einfache Änderung an Ihr Bitbucket-Repository senden.

  1. Erstellen Sie eine Testdatei.

    code language-bash
    touch test.md
    
  2. Übertragen Sie die Änderung in das Bitbucket-Repository und übertragen Sie sie.

    code language-bash
    git add . && git commit -m "Testing Bitbucket integration" && git push
    
  3. Melden Sie sich bei der Cloud Console an und stellen Sie sicher, dass Ihre Commit-Nachricht angezeigt wird und Ihr Projekt bereitgestellt wird.

    Testen der Bitbucket-Integration

Erstellen einer Cloud-Verzweigung

Die Bitbucket-Integration kann keine neuen Umgebungen in Ihrem Adobe Commerce in einem Cloud-Infrastrukturprojekt aktivieren. Wenn Sie eine Umgebung mit Bitbucket erstellen, müssen Sie die Umgebung manuell aktivieren. Um diesen zusätzlichen Schritt zu vermeiden, empfiehlt es sich, Umgebungen mit dem magento-cloud CLI-Tool oder dem Cloud Console zu erstellen.

So aktivieren Sie eine mit Bitbucket erstellte Verzweigung:

  1. Verwenden Sie die magento-cloud CLI, um die Verzweigung per Push zu übertragen.

    code language-bash
    magento-cloud environment:push from-bitbucket
    
    code language-none
    Pushing from-bitbucket to the new environment from-bitbucket
    Activate from-bitbucket after pushing? [Y/n] y
    Parent environment [master]: integration
    --- (Validation and activation messages)
    
  2. Stellen Sie sicher, dass die Umgebung aktiv ist.

    code language-bash
    magento-cloud environment:list
    
    code language-none
    Your environments are:
    +---------------------+----------------+--------+
    | ID                  | Name           | Status |
    +---------------------+----------------+--------+
    | master              | Master         | Active |
    |  integration        | integration    | Active |
    |    from-bitbucket * | from-bitbucket | Active |
    +---------------------+----------------+--------+
    * - Indicates the current environment
    

Nachdem Sie eine Umgebung erstellt haben, können Sie die entsprechende Verzweigung mit regulären Git-Befehlen an Ihr Remote-Bitbucket-Repository pushen. Nachfolgende Änderungen an Ihrer Verzweigung in Bitbucket erstellen und stellen die Umgebung automatisch bereit.

Integration entfernen

Sie können die Bitbucket-Integration sicher aus Ihrem Projekt entfernen, ohne den Code zu beeinflussen.

So entfernen Sie die Bitbucket-Integration:

  1. Melden Sie sich vom Terminal aus bei Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt an.

  2. Auflisten der Integrationen. Sie benötigen die Bitbucket-Integrations-ID , um den nächsten Schritt abzuschließen.

    code language-bash
    magento-cloud integration:list
    
  3. Löschen Sie die Integration.

    code language-bash
    magento-cloud integration:delete <int-ID>
    

Sie können die Bitbucket-Integration auch entfernen, indem Sie sich bei Ihrem Bitbucket-Konto anmelden und die OAuth-Gewährung auf der Seite „Einstellungen des Kontos.

Bitbucket-Serverintegration

Um die Bitbucket-Server-Integration zu verwenden, benötigen Sie Folgendes:

Sie können die Cloud-CLI zwar verwenden, um die Schritte zur Integration des Bitbucket-Servers zu durchlaufen, der vollständige Befehl sieht jedoch ähnlich wie der folgende aus:

magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>

Verwenden Sie den Hilfe-Befehl für weitere Nutzungsanforderungen und Optionen: magento-cloud integration:add --help

recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938