GitLab-integratie
U kunt een gegevensopslagplaats vormen GitLab om automatisch een milieu te bouwen en op te stellen wanneer u codeveranderingen duwt. Deze integratie synchroniseert uw GitLab-opslagplaats met uw Adobe Commerce op cloudinfratuuropportaccount.
Dankzij deze integratie kunt u:
- Een omgeving maken wanneer u een vertakking maakt
- Implementeer de omgeving opnieuw wanneer u een pull-verzoek samenvoegt
- De omgeving verwijderen wanneer u de vertakking verwijdert
U moet een GitLab-token en een webhaak verkrijgen om het proces voort te zetten.
Vereisten
- Beheerderstoegang tot de Adobe Commerce in het infrastructuurproject voor de cloud
magento-cloudCLI in uw lokale omgeving- Een GitLab-account
- Een GitLab persoonlijke toegangstoken met schrijftoegang tot de GitLab-opslagplaats, moet het geselecteerde bereik ten minste zijn:
apienread_repository.
De opslagplaats voorbereiden
Clone your Adobe Commerce on cloud Infrastructure project from an existing environment and migrate the project branches to a new, empty GitLab repository, preserve the same tak names. Het is kritiek om een identieke boom van het Git te behouden, zodat u geen bestaande milieu's of takken in uw Adobe Commerce op het project van de wolkeninfrastructuur verliest.
-
Meld u vanaf de terminal aan bij uw Adobe Commerce voor een infrastructuurproject voor de cloud.
code language-bash magento-cloud login -
Maak een lijst van uw projecten en kopieer projectidentiteitskaart
code language-bash magento-cloud project:list -
Kloont het project naar uw lokale omgeving.
code language-bash magento-cloud project:get <project-id> -
Voeg uw GitLab-opslagplaats toe als een externe opslagplaats (ervan uitgaande dat GitLab wordt gebruikt in de SaaS-versie).
code language-bash git remote add origin git@gitlab.com:<user-name>/<repo-name>.gitDe standaardnaam voor de externe verbinding kan
originofmagentozijn. Alsoriginbestaat, kunt u een verschillende naam kiezen of u kunt de bestaande verwijzing een andere naam geven of verwijderen. Zie git-verre documentatie . -
Controleer of u de GitLab-afstandsbediening correct hebt toegevoegd.
code language-bash git remote -vVerwacht antwoord:
code language-none origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push) -
Verplaats de projectbestanden naar de nieuwe GitLab-opslagplaats. Vergeet niet alle vertakkingsnamen gelijk te houden.
code language-bash git push -u origin masterAls u begint met een nieuwe GitLab-opslagplaats, moet u mogelijk de optie
-fgebruiken, omdat de externe opslagplaats niet overeenkomt met uw lokale kopie. -
Controleer of uw GitLab-opslagplaats al uw projectbestanden bevat.
De integratie met GitLab inschakelen
Gebruik de opdracht magento-cloud integration om de integratie met GitLab in te schakelen en de Payload-URL voor de GitLab-webhaak te gebruiken om updates van GitLab naar uw Adobe Commerce te verzenden via het infrastructuurproject in de cloud.
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/ als GitLab in zijn versie SaaS wordt gebruikt)--server-project--build-merge-requeststrue door gebrek te bouwen)--merge-requests-clone-parent-datatrue door gebrek te klonen)--fetch-branchestrue door gebrek)--prune-branchestrue door gebrek bestaan)magento-cloud integration bevel beschrijft alle code in uw Adobe Commerce op het project van de wolkeninfrastructuur met de code van uw bewaarplaats GitLab. Dit geldt voor alle vertakkingen, inclusief de production -vertakking. Deze handeling gebeurt onmiddellijk en kan niet ongedaan worden gemaakt. Als beste praktijken, is het belangrijk om al uw takken van uw Adobe Commerce op het project van de wolkeninfrastructuur te klonen en hen te duwen aan uw bewaarplaats GitLab alvorens de integratie GitLab toe te voegen.om de integratie GitLab toe te laten:
-
Voeg vanaf de terminal de GitLab-integratie toe aan uw Adobe Commerce-project voor cloudinfrastructuur:
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 -
Voer
yin wanneer u daarom wordt gevraagd om de integratie toe te voegen.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 -
Kopieer Hook URL die door de terugkeeroutput wordt getoond.
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 | +----------------------------------+---------------------------------------------------------------------------------------+
Webhaak toevoegen in GitLab
Om gebeurtenissen —zoals een duw of fusieverzoeken— met uw server van de Git van de Wolk mee te delen, moet u een webhaak 🔗 voor uw bewaarplaats van GitLab tot stand brengen
-
In uw bewaarplaats GitLab, klik de Montages tabel.
-
In de linkernavigatiebar, klik Webhooks.
-
In de vorm Webhooks, geef de volgende gebieden uit:
- URL: Ga
Hook URLteruggekeerd in wanneer u de integratie GitLab toeliet. - Geheime token: Ga indien nodig een verificatiegeheim in.
- Trekker: Controle
Merge request eventsen/ofPush eventsafhankelijk van uw behoeften. - laat SSL controle toe: U moet deze optie selecteren.
- URL: Ga
-
Klik toevoegen webhaak.
Integratie testen
Na het vormen van de integratie GitLab, kunt u verifiëren dat de integratie operationeel is gebruikend magento-cloud CLI:
magento-cloud integration:validate
Of u kunt het testen door een eenvoudige verandering in uw bewaarplaats GitLab te duwen.
-
Maak een testbestand.
code language-bash touch test.md -
Leg de wijziging vast en duw deze naar uw GitLab-opslagplaats.
code language-bash git add . && git commit -m "Testing GitLab integration" && git push -
Meld u aan bij de Cloud Console en controleer of uw commit-bericht wordt weergegeven en of uw project wordt geïmplementeerd.
Een Cloud-vertakking maken
Gebruik de opdracht magento-cloud CLI environment:push om een nieuwe omgeving te maken en te activeren. Zie een tak van de Wolk creëren.
Integratie verwijderen
Gebruik de opdracht magento-cloud CLI integration:delete om de integratie te verwijderen. Zie de integratie verwijderen.