GitLab-Integration
Sie können ein GitLab-Repository so konfigurieren, dass automatisch eine Umgebung erstellt und bereitgestellt wird, wenn Sie Code-Änderungen per Push übertragen. Diese Integration synchronisiert Ihr GitLab-Repository mit Ihrem Adobe Commerce on Cloud Infrastructure-Konto.
Diese Integration bietet folgende Möglichkeiten:
- Erstellen einer Umgebung beim Erstellen einer Verzweigung
- Umgebung beim Zusammenführen einer Pull-Anfrage erneut bereitstellen
- Löschen der Umgebung beim Löschen der Verzweigung
Sie müssen ein GitLab-Token und einen Webhook abrufen, um den Prozess fortzusetzen.
Voraussetzungen
- Administratorzugriff auf das Adobe Commerce on Cloud-Infrastrukturprojekt
magento-cloudCLI-Tool in Ihrer lokalen Umgebung- Ein GitLab-Konto
- Ein persönliches GitLab-Zugriffstoken mit Schreibzugriff auf das GitLab-Repository. Ausgewählte Bereiche müssen mindestens sein:
apiundread_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 GitLab-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.
-
Melden Sie sich vom Terminal aus bei Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt an.
code language-bash magento-cloud login -
Listen Sie Ihre Projekte auf und kopieren Sie die Projekt-ID.
code language-bash magento-cloud project:list -
Klonen Sie das Projekt in Ihrer lokalen Umgebung.
code language-bash magento-cloud project:get <project-id> -
Fügen Sie Ihr GitLab-Repository als Remote hinzu (vorausgesetzt, GitLab wird in der zugehörigen SaaS-Version verwendet).
code language-bash git remote add origin git@gitlab.com:<user-name>/<repo-name>.gitDer Standardname für die Remoteverbindung kann
originodermagentosein. Wennoriginvorhanden ist, können Sie einen anderen Namen auswählen oder den vorhandenen Verweis umbenennen oder löschen. Siehe Git-Remote-Dokumentation. -
Stellen Sie sicher, dass Sie die GitLab-Fernbedienung korrekt hinzugefügt haben.
code language-bash git remote -vErwartete Antwort:
code language-none origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push) -
Übertragen Sie die Projektdateien in das neue GitLab-Repository. Denken Sie daran, alle Verzweigungsnamen gleich zu halten.
code language-bash git push -u origin masterWenn Sie mit einem neuen GitLab-Repository beginnen, müssen Sie möglicherweise die Option
-fverwenden, da das Remote-Repository nicht mit Ihrer lokalen Kopie übereinstimmt. -
Stellen Sie sicher, dass das GitLab-Repository alle Ihre Projektdateien enthält.
Aktivieren der GitLab-Integration
Verwenden Sie den Befehl magento-cloud integration , um die GitLab-Integration zu aktivieren, und rufen Sie die Payload-URL für den GitLab-Webhook ab, um Aktualisierungen von GitLab an Ihr Adobe Commerce on Cloud Infrastructure-Projekt zu senden.
magento-cloud integration:add --type=gitlab --project=<project-ID> --token=<your-GitLab-token> [--base-url=<GitLab-url> --server-project=<GitLab-project> --build-merge-requests={true|false} --merge-requests-clone-parent-data={true|false} --fetch-branches={true|false} --prune-branches={true|false}]
<project-ID><your-GitLab-token>--base-urlhttps://gitlab.com/ wenn GitLab in der SaaS-Version verwendet wird)--server-project--build-merge-requeststrue)--merge-requests-clone-parent-datatrue)--fetch-branchestrue)--prune-branchestrue)magento-cloud integration überschreibt all-Code in Ihrem Adobe Commerce in einem Cloud-Infrastrukturprojekt mit dem Code aus Ihrem GitLab-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 on Cloud-Infrastrukturprojekt zu klonen und in Ihr GitLab-Repository zu pushen, bevor Sie die GitLab-Integration hinzufügen.So aktivieren Sie die GitLab-Integration:
-
Fügen Sie vom Terminal aus die GitLab-Integration zu Ihrem Adobe Commerce on Cloud-Infrastrukturprojekt hinzu:
code language-bash magento-cloud integration:add --type gitlab --project=3txxjf32gtryos --token=qVUfeEn4ouze7A7JH --base-url=https://gitlab.com/ --server-project=my-agency/project-name --build-merge-requests=false --merge-requests-clone-parent-data=false --fetch-branches=true --prune-branches=true -
Geben Sie nach Aufforderung
yein, um die Integration hinzuzufügen.code language-none Warning: adding a 'gitlab' integration will automatically synchronize code from the external Git repository. This means it can overwrite all the code in your project. Are you sure you want to continue? [y/N] y -
Kopieren Sie die Hook-URL, die in der Rückgabeausgabe angezeigt wird.
code language-none Hook URL: https://eu-3.magento.cloud/api/projects/3txxjf32gtryos/integrations/eolmpfizzg9lu/hook Created integration eolmpfizzg9lu (type: gitlab) +----------------------------------+---------------------------------------------------------------------------------------+ | Property | Value | +----------------------------------+---------------------------------------------------------------------------------------+ | id | <integration-id> | | type | gitlab | | token | ****** | | base_url | https://gitlab.com/ | | project | my-agency/project-name | | fetch_branches | true | | prune_branches | true | | build_merge_requests | false | | merge_requests_clone_parent_data | false | | hook_url | https://eu-3.magento.cloud/api/projects/<project-id>/integrations/<integration-id>/hook | +----------------------------------+---------------------------------------------------------------------------------------+
Webhook in GitLab hinzufügen
Um Ereignisse - z. B. Push- oder Merge-Anfragen - mit Ihrem Cloud Git-Server zu kommunizieren, müssen Sie Webhook erstellen für Ihr GitLab-Repository erstellen
-
Klicken Sie in Ihrem GitLab-Repository auf die Registerkarte Einstellungen.
-
Klicken Sie in der linken Navigationsleiste auf Webhooks.
-
Bearbeiten Sie im Webhooks-Formular die folgenden Felder:
- URL: Geben Sie den
Hook URLein, der zurückgegeben wurde, als Sie die GitLab-Integration aktiviert haben. - Geheimer Token: Geben Sie bei Bedarf einen Verifizierungsschlüssel ein.
- Trigger: Überprüfen Sie
Merge request eventsund/oderPush eventsje nach Bedarf. - SSL-Überprüfung aktivieren: Sie müssen diese Option auswählen.
- URL: Geben Sie den
-
Klicken Sie Webhook hinzufügen.
Testen der Integration
Nach der Konfiguration der GitLab-Integration können Sie mithilfe der magento-cloud CLI überprüfen, ob die Integration funktionsfähig ist:
magento-cloud integration:validate
Sie können sie auch testen, indem Sie eine einfache Änderung an Ihr GitLab-Repository senden.
-
Erstellen Sie eine Testdatei.
code language-bash touch test.md -
Übertragen Sie die Änderung in das GitLab-Repository und übertragen Sie sie.
code language-bash git add . && git commit -m "Testing GitLab integration" && git push -
Melden Sie sich bei der Cloud Console an und stellen Sie sicher, dass Ihre Commit-Nachricht angezeigt wird und Ihr Projekt bereitgestellt wird.
Erstellen einer Cloud-Verzweigung
Verwenden Sie den magento-cloud CLI-environment:push, um eine neue Umgebung zu erstellen und zu aktivieren. Siehe Erstellen einer Cloud-Verzweigung.
Integration entfernen
Verwenden Sie den magento-cloud CLI-integration:delete, um die Integration zu entfernen. Siehe Entfernen der Integration.