Bitbucket-integrering

Du kan konfigurera Bitbucket-databasen så att den automatiskt skapar och distribuerar en miljö när du skickar kodändringar. Den här integreringen synkroniserar Bitbucket-databasen med ditt Adobe Commerce på molninfrastrukturskontot.

NOTE
Adobe rekommenderar starkt att du använder ett privat arkiv för Adobe Commerce i molninfrastrukturprojekt för att skydda all tillverkarspecifik information eller allt utvecklingsarbete, som tillägg och känsliga konfigurationer.

Förutsättningar

  • Administratörsåtkomst till Adobe Commerce i molninfrastrukturprojektet
  • Verktyget magento-cloud CLI i din lokala miljö
  • Ett Bitbucket-konto
  • Administratörsåtkomst till Bitbucket-databasen
  • En SSH-åtkomstnyckel för Bitbucket-databasen

Förbered databasen

Klona ditt Adobe Commerce i molninfrastrukturprojekt från en befintlig miljö och migrera projektgrenarna till en ny, tom Bitbucket-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.

  1. Logga in på ditt Adobe Commerce i molninfrastrukturprojekt från terminalen.

    code language-bash
    magento-cloud login
    
  2. Lista dina projekt och kopiera projekt-ID:t.

    code language-bash
    magento-cloud project:list
    
  3. Klona projektet till din lokala miljö.

    code language-bash
    magento-cloud project:get <project-ID>
    
  4. Lägg till din Bitbucket-databas som en fjärrdatabas.

    code language-bash
    git remote add origin git@bitbucket.org:<user-name>/<repo-name>.git
    

    Standardnamnet för fjärranslutningen kan vara origin eller magento. Om origin finns kan du välja ett annat namn eller ändra namn på eller ta bort den befintliga referensen. Se git-remote-dokumentation.

  5. Kontrollera att du har lagt till Bitbucket-fjärrkontrollen korrekt.

    code language-bash
    git remote -v
    

    Förväntat svar:

    code language-none
    origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch)
    origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
    
  6. Skicka projektfilerna till din nya Bitbucket-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 Bitbucket-databas kanske du måste använda alternativet -f eftersom fjärrdatabasen inte matchar din lokala kopia.

  7. Kontrollera att Bitbucket-databasen innehåller alla dina projektfiler.

Skapa en OAuth-kund

Bitbucket-integreringen kräver en OAuth-konsument. Du behöver OAuth key och secret från den här konsumenten för att slutföra nästa avsnitt.

Så här skapar du en OAuth-konsument i Bitbucket:

  1. Logga in på ditt Bitbucket-konto.

  2. Klicka på Inställningar > Åtkomsthantering > OAuth.

  3. Klicka på Lägg till konsument och konfigurera den enligt följande:

    OAuth-konsumentkonfiguration för Bitbucket

    note warning
    WARNING
    En giltig återanrops-URL krävs inte, men du måste ange ett värde i det här fältet för att integreringen ska slutföras.
  4. Klicka på Spara.

  5. Klicka på konsumenten Name för att visa din OAuth key och secret.

  6. Kopiera din OAuth key och secret för att konfigurera integreringen.

Konfigurera integreringen

  1. Gå till Adobe Commerce i molninfrastrukturprojekt från terminalen.

  2. Skapa en temporär fil med namnet bitbucket.json och lägg till följande, och ersätt variablerna i vinkelparenteserna med dina värden:

    code language-json
    {
      "type": "bitbucket",
      "repository": "<bitbucket-user-name/bitbucket-repo-name>",
      "app_credentials": {
        "key": "<oauth-consumer-key>",
        "secret": "<oauth-consumer-secret>"
      },
      "prune_branches": true,
      "fetch_branches": true,
      "build_pull_requests": true,
      "resync_pull_requests": true
    }
    
    note tip
    TIP
    Var noga med att använda namnet på Bitbucket-databasen och inte URL:en. Integreringen misslyckas om du använder en URL.
  3. Lägg till integreringen i ditt projekt med CLI-verktyget magento-cloud.

    note warning
    WARNING
    Följande kommando skriver över all -kod i ditt Adobe Commerce-molninfrastrukturprojekt med kod från din Bitbucket-databas. Detta inkluderar alla grenar, inklusive grenen production. 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 Bitbucket-databasen innan du lägger till Bitbucket-integrationen.
    code language-bash
    magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
    

    Detta returnerar ett långt HTTP-svar med rubriker. En lyckad integrering returnerar statuskoden 200 eller 201. Statusen 400 eller högre anger att ett fel har inträffat.

  4. Ta bort den temporära bitbucket.json-filen.

  5. Verifiera projektintegreringen.

    code language-bash
    magento-cloud integrations -p <project-ID>
    
    code language-none
    +----------+-----------+--------------------------------------------------------------------------------+
    | ID       | Type      | Summary                                                                        |
    +----------+-----------+--------------------------------------------------------------------------------+
    | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int                                      |
    |          |           | Hook URL:                                                                      |
    |          |           | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook |
    +----------+-----------+--------------------------------------------------------------------------------+
    

    Anteckna krok-URL:en för att konfigurera en webkrok i BitBucket.

Lägg till en webkrok i BitBucket

Om du vill kunna kommunicera händelser, till exempel en push-funktion, med din Creative Cloud Git-server, måste du ha en webkrok för din BitBucket-databas. Metoden för att konfigurera en Bitbucket-integrering som är detaljerad på den här sidan skapar automatiskt en webkrok när den följs korrekt. Det är viktigt att verifiera webbkroken för att undvika att skapa flera integreringar.

  1. Logga in på ditt Bitbucket-konto.

  2. Klicka på Databaser och välj projektet.

  3. Klicka på Databasinställningar > Arbetsflöde > Webhooks.

  4. Kontrollera webkroken innan du fortsätter.

    Om kroken är aktiv hoppar du över de återstående stegen och Testa integreringen. Haken ska ha ett namn som liknar "Adobe Commerce i molninfrastrukturen <project_id>" och ett krok-URL-format som liknar: https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook

  5. Klicka på Lägg till webkrok.

  6. Redigera följande fält i vyn Lägg till ny webkrok:

    • Titel: Adobe Commerce-integrering
    • URL: Använd URL-adressen för krok från integreringslistan för magento-cloud
    • Utlösare: Standardvärdet är en grundläggande databasöverföring
  7. Klicka på Spara.

Testa integreringen

När du har konfigurerat Bitbucket-integreringen kan du verifiera att integreringen fungerar med CLI:n för magento-cloud:

magento-cloud integration:validate

Du kan också testa den genom att göra en enkel ändring i Bitbucket-databasen.

  1. Skapa en testfil.

    code language-bash
    touch test.md
    
  2. Verkställ och skicka ändringen till Bitbucket-databasen.

    code language-bash
    git add . && git commit -m "Testing Bitbucket integration" && git push
    
  3. Logga in på Cloud Console och verifiera att ditt implementeringsmeddelande visas och att ditt projekt distribueras.

    Testar Bitbucket-integreringen

Skapa en molngren

Bitbucket-integreringen kan inte aktivera nya miljöer i ditt Adobe Commerce i molninfrastrukturprojekt. Om du skapar en miljö med Bitbucket måste du aktivera miljön manuellt. För att undvika det här extra steget är det bäst att skapa miljöer med hjälp av CLI-verktyget magento-cloud eller Cloud Console.

Så här aktiverar du en gren som skapats med Bitbucket:

  1. Använd CLI:n för magento-cloud för att föra grenen framåt.

    code language-bash
    magento-cloud environment:push from-bitbucket
    
    code language-none
    Pushing from-bitbucket to the new environment from-bitbucket
    Activate from-bitbucket after pushing? [Y/n] y
    Parent environment [master]: integration
    --- (Validation and activation messages)
    
  2. Kontrollera att miljön är aktiv.

    code language-bash
    magento-cloud environment:list
    
    code language-none
    Your environments are:
    +---------------------+----------------+--------+
    | ID                  | Name           | Status |
    +---------------------+----------------+--------+
    | master              | Master         | Active |
    |  integration        | integration    | Active |
    |    from-bitbucket * | from-bitbucket | Active |
    +---------------------+----------------+--------+
    * - Indicates the current environment
    

När du har skapat en miljö kan du överföra motsvarande gren till din Bitbucket-fjärrdatabas med vanliga Git-kommandon. Efterföljande ändringar av din gren i Bitbucket skapar och driftsätter automatiskt miljön.

Ta bort integreringen

Du kan ta bort Bitbucket-integreringen från ditt projekt utan att koden påverkas.

Så här tar du bort Bitbucket-integreringen:

  1. Logga in på ditt Adobe Commerce i molninfrastrukturprojekt från terminalen.

  2. Visa en lista över era integreringar. Du behöver Bitbucket-integrerings-ID för att kunna slutföra nästa steg.

    code language-bash
    magento-cloud integration:list
    
  3. Ta bort integreringen.

    code language-bash
    magento-cloud integration:delete <int-ID>
    

Du kan även ta bort Bitbucket-integreringen genom att logga in på ditt Bitbucket-konto och återkalla OAuth-anslaget på kontosidan Inställningar.

Bitbucket-serverintegration

Om du vill använda Bitbucket-serverintegreringen behöver du följande:

Även om du kan använda Cloud CLI för att gå igenom integreringsstegen för Bitbucket-servern ser det fullständiga kommandot ut ungefär så här:

magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>

Använd hjälpkommandot om du vill ha fler användningskrav och alternativ: magento-cloud integration:add --help

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26