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>.git
Standardnamnet för fjärranslutningen kan vara
origin
ellermagento
. Omorigin
finns 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 -v
Fö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 master
Om du börjar med en ny GitHub-databas kan du behöva använda alternativet
-f
eftersom 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-url
https://github.com/
eller en anpassad. Utelämna det här alternativet om din databas ligger hos Github.--token
--repository
owner-or-organisation/repository
--build-pull-requests
true
som standard)--fetch-branches
true
som standard)--prune-branches
true
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/myrepo
Exempel 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.