[Alleen PaaS]{class="badge informative" title="Is alleen van toepassing op Adobe Commerce op Cloud-projecten (door Adobe beheerde PaaS-infrastructuur) en op projecten in het veld."}

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.

NOTE
Adobe raadt u ten zeerste aan een privéopslagplaats voor uw Adobe Commerce te gebruiken voor het project voor cloudinfrastructuur om eventuele bedrijfsspecifieke informatie of ontwikkelingswerkzaamheden, zoals extensies en kwetsbare configuraties, te beschermen.

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-cloud CLI ​ in uw lokale omgeving
  • Een GitLab-account
  • Een GitLab persoonlijke toegangstoken met schrijftoegang tot de GitLab-opslagplaats, moet het geselecteerde bereik ten minste zijn: api en read_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.

  1. Meld u vanaf de terminal aan bij uw Adobe Commerce voor een infrastructuurproject voor de cloud.

    code language-bash
    magento-cloud login
    
  2. Maak een lijst van uw projecten en kopieer projectidentiteitskaart

    code language-bash
    magento-cloud project:list
    
  3. Kloont het project naar uw lokale omgeving.

    code language-bash
    magento-cloud project:get <project-id>
    
  4. 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>.git
    

    De standaardnaam voor de externe verbinding kan origin of magento zijn. Als origin bestaat, kunt u een verschillende naam kiezen of u kunt de bestaande verwijzing een andere naam geven of verwijderen. Zie ​ git-verre documentatie ​.

  5. Controleer of u de GitLab-afstandsbediening correct hebt toegevoegd.

    code language-bash
    git remote -v
    

    Verwacht antwoord:

    code language-none
    origin git@gitlab.com:<user-name>/<repo-name>.git (fetch)
    origin git@gitlab.com:<user-name>/<repo-name>.git (push)
    
  6. Verplaats de projectbestanden naar de nieuwe GitLab-opslagplaats. Vergeet niet alle vertakkingsnamen gelijk te houden.

    code language-bash
    git push -u origin master
    

    Als u begint met een nieuwe GitLab-opslagplaats, moet u mogelijk de optie -f gebruiken, omdat de externe opslagplaats niet overeenkomt met uw lokale kopie.

  7. 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}]
Optie
Beschrijving
<project-ID>
Projectid Adobe Commerce on cloud Infrastructure
<your-GitLab-token>
Het persoonlijke toegangstoken dat u voor GitLab produceerde
--base-url
URL van GitLab (https://gitlab.com/ als GitLab in zijn versie SaaS wordt gebruikt)
--server-project
Projectnaam in GitLab (onderdeel na de basis-URL)
--build-merge-requests
Een facultatieve parameter die Adobe Commerce op wolkeninfrastructuur opdraagt om een nieuw milieu voor elk fusieverzoek (true door gebrek te bouwen)
--merge-requests-clone-parent-data
Een facultatieve parameter die Adobe Commerce op wolkeninfrastructuur opdraagt om de gegevens van het oudermilieu voor fusieverzoeken (true door gebrek te klonen)
--fetch-branches
Een facultatieve parameter die Adobe Commerce op wolkeninfrastructuur veroorzaakt om alle takken van ver (als inactieve milieu's) te halen (true door gebrek)
--prune-branches
Een facultatieve parameter die Adobe Commerce op wolkeninfrastructuur opdraagt om takken te schrappen die niet op ver (true door gebrek bestaan)
WARNING
Het 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:

  1. 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
    
  2. Voer y in 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
    
  3. 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

  1. In uw bewaarplaats GitLab, klik de Montages tabel.

  2. In de linkernavigatiebar, klik Webhooks.

  3. In de vorm Webhooks, geef de volgende gebieden uit:

    • URL: Ga Hook URL teruggekeerd in wanneer u de integratie GitLab toeliet.
    • Geheime token: Ga indien nodig een verificatiegeheim in.
    • Trekker: Controle Merge request events en/of Push events afhankelijk van uw behoeften.
    • laat SSL controle toe: U moet deze optie selecteren.
  4. 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.

  1. Maak een testbestand.

    code language-bash
    touch test.md
    
  2. Leg de wijziging vast en duw deze naar uw GitLab-opslagplaats.

    code language-bash
    git add . && git commit -m "Testing GitLab integration" && git push
    
  3. 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.

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