GitHub-integrering
Tack vare GitHub-integreringen kan du hantera dina Adobe Commerce i molninfrastrukturmiljöer direkt från din GitHub-databas. Integreringen hanterar innehåll som redan finns i GitHub och synkroniserar med Adobe Commerce i molninfrastrukturens kodarkiv. Koddatabasen blir alltså en spegling av GitHub-databasen.
Integreringen gör att du kan:
- Skapa en miljö när du skapar en gren
- Distribuera om miljön när du sammanfogar en pull-begäran
- Ta bort miljön när du tar bort grenen
Du måste hämta en GitHub-token och en webkrok för att kunna fortsätta processen.
Förutsättningar
- Administratörsåtkomst till Adobe Commerce i molninfrastrukturprojektet
- GitHub-databas
- Personlig åtkomsttoken för GitHub
Generera en GitHub-token
Skapa en klassisk token för personlig åtkomst i inställningarna för GitHub-utvecklare. Du måste vara medlem i en grupp med skrivåtkomst till GitHub-databasen, så att du kan push till databasen. Inkludera följande scope när du skapar din token:
admin:repo_hook- Skapa webbkrokarrepo- Integrera med din databasread:org- Integrera med din organisationsdatabas
Se GitHub: Skapa.
Förbered databasen
Klona ditt Adobe Commerce i molninfrastrukturprojekt från en befintlig miljö och migrera projektgrenarna till en ny, tom GitHub-databas, med samma filialnamn intakta. Det är viktigt att behålla ett identiskt Git-träd, så att du inte förlorar några befintliga miljöer eller grenar i ditt Adobe Commerce i molninfrastrukturprojekt.
-
Logga in på ditt Adobe Commerce i molninfrastrukturprojekt från terminalen.
code language-bash magento-cloud login -
Lista dina projekt och kopiera projekt-ID:t.
code language-bash magento-cloud project:list -
Klona projektet till din lokala miljö.
code language-bash magento-cloud project:get <project-ID> -
Lägg till din GitHub-databas som en fjärrdatabas.
code language-bash git remote add origin git@github.com:<user-name>/<repo-name>.gitStandardnamnet för fjärranslutningen kan vara
originellermagento. Omoriginfinns kan du välja ett annat namn eller ändra namn på eller ta bort den befintliga referensen. Se git-remote-dokumentation. -
Kontrollera att du har lagt till GitHub-fjärrkontrollen korrekt.
code language-bash git remote -vFörväntat svar:
code language-none origin git@github.com:<user-name>/<repo-name>.git (fetch) origin git@github.com:<user-name>/<repo-name>.git (push) -
Skicka projektfilerna till din nya GitHub-databas. Kom ihåg att behålla samma namn på alla grenar.
code language-bash git push -u origin masterOm du börjar med en ny GitHub-databas kan du behöva använda alternativet
-feftersom fjärrdatabasen inte matchar din lokala kopia. -
Kontrollera att din GitHub-databas innehåller alla dina projektfiler.
Aktivera GitHub-integrering
Innan du börjar måste projektkoden och miljöerna finnas i GitHub-databasen. När integreringen har aktiverats blir GitHub-databasen kodkälla. Om du skickar kodändringar till den ursprungliga magento-databasen skrivs den över av integreringen när du skickar kodändringar till din GitHub-databas.
Följande aktiverar GitHub-integreringen och tillhandahåller en Payload URL som kan användas när en webkrok skapas.
production-grenen. Den här åtgärden utförs omedelbart och kan inte ångras. Det är en god vana att klona alla dina grenar från Adobe Commerce i molninfrastrukturprojektet och överföra dem till GitHub-databasen innan GitHub-integreringen läggs till.Du kan välja att stega igenom CLI-prompterna med magento-cloud integration:add eller så kan du skapa integreringskommandot med följande alternativ:
--base-urlhttps://github.com/ eller en anpassad. Utelämna det här alternativet om din databas ligger hos Github eller om din databas inte ligger på privata servrar. Utelämna det här alternativet om din databas-URL liknar https://github.com/{account}/{repository-name}. Detta kan orsaka fel som Unable to connect to GitHub: repository not found.--token--repositoryowner-or-organisation/repository--build-pull-requeststrue som standard)--fetch-branchestrue som standard)--prune-branchestrue som standard)Det finns många fler alternativ och du kan se dem med hjälp av hjälpalternativet:
magento-cloud integration:add --help
Så här aktiverar du GitHub-integreringen:
-
Aktivera integreringen.
code language-bash magento-cloud integration:add --type=github --project=<project-ID> --token=<your-GitHub-token> {--repository=USER/REPOSITORY | --repository=ORGANIZATION/REPOSITORY} [--build-pull-requests={true|false} --fetch-branches={true|false}Exempel 1: Aktivera GitHub-integrering för en personlig, privat databas:
code language-bash magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=myUserName/myrepoExempel 2: Aktivera GitHub-integrering för en organisationsdatabas:
code language-bash magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=Magento/teamrepo -
Ange den obligatoriska informationen när du uppmanas till det.
-
Kopiera Nyttolast-URL:en som visas av returutdata.
code language-none Created integration <integration-ID> (type: github) Repository: myUserName/myrepo Build PRs: yes Fetch branches: yes Payload URL: https://us.magento.cloud/api/projects/<project-id>/integrations/wO8a0eoamxwcg/hook
Lägg till webkroken i GitHub
Om du vill kommunicera händelser, t.ex. en push-funktion, med din Creative Cloud Git-server måste du skapa en webkrok för din GitHub-databas:
-
Klicka på fliken Inställningar i GitHub-databasen.
-
Klicka på Webhooks i det vänstra navigeringsfältet.
-
Klicka på Lägg till webkrok i rutan Webhooks.
-
Redigera följande fält i formuläret Webhooks/Lägg till webkrok:
- Nyttolast-URL: Ange den URL som returneras när du aktiverade GitHub-integreringen.
- Innehållstyp: Välj program/json i listan.
- Hemlighet: Ange en verifieringshemlighet.
- Vilka händelser vill du utlösa den här webkroken?: Välj Skicka mig allt.
- Markera kryssrutan Aktiv.
-
Klicka på Lägg till webkrok.
Testa integreringen
När du har konfigurerat GitHub-integreringen kan du verifiera att integreringen fungerar med magento-cloud CLI:
magento-cloud integration:validate
Du kan också testa den genom att göra en enkel ändring i din GitHub-databas.
-
Skapa en testfil.
code language-bash touch test.md -
Verkställ och skicka ändringen till din GitHub-databas.
code language-bash git add . && git commit -m "Testing GitHub integration" && git push -
Logga in på Cloud Console och verifiera att ditt implementeringsmeddelande visas och att ditt projekt distribueras.
Ta bort integreringen
Du kan ta bort GitHub-integreringen från ditt projekt utan att koden påverkas.
Så här tar du bort GitHub-integreringen:
-
Logga in på ditt Adobe Commerce i molninfrastrukturprojekt från terminalen.
-
Visa en lista över era integreringar. Du behöver GitHub-integrerings-ID för att kunna slutföra nästa steg.
code language-bash magento-cloud integration:list -
Ta bort integreringen.
code language-bash magento-cloud integration:delete <int-ID>
Du kan även ta bort GitHub-integreringen genom att logga in på ditt GitHub-konto och ta bort webbokroken på fliken Webhooks i inställningarna för databasen.