[Solo PaaS]{class="badge informative" title="Applicabile solo ai progetti Adobe Commerce on Cloud (infrastruttura PaaS gestita da Adobe) e ai progetti on-premise."}

Integrazione bitbucket

È possibile configurare l’archivio Bitbucket in modo da generare e distribuire automaticamente un ambiente quando si inviano modifiche al codice. Questa integrazione sincronizza l’archivio Bitbucket con l’account Adobe Commerce sull’infrastruttura cloud.

NOTE
Adobe consiglia vivamente di utilizzare un archivio privato per il progetto di infrastruttura cloud di Adobe Commerce per proteggere informazioni proprietarie o attività di sviluppo, come estensioni e configurazioni sensibili.

Prerequisiti

  • Accesso amministratore al progetto di infrastruttura cloud Adobe Commerce on
  • Strumento magento-cloud CLI nell'ambiente locale
  • Un account Bitbucket
  • Accesso amministratore all’archivio Bitbucket
  • Una chiave di accesso SSH per l’archivio Bitbucket

Preparare l’archivio

Clona il progetto Adobe Commerce on Cloud Infrastructure da un ambiente esistente e migra i rami del progetto in un nuovo archivio Bitbucket vuoto, mantenendo gli stessi nomi di ramo. È fondamentale mantenere una struttura Git identica, in modo da non perdere ambienti o rami esistenti nel progetto Adobe Commerce su infrastruttura cloud.

  1. Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.

    code language-bash
    magento-cloud login
    
  2. Elencare i progetti e copiare l’ID del progetto.

    code language-bash
    magento-cloud project:list
    
  3. Clona il progetto nell’ambiente locale.

    code language-bash
    magento-cloud project:get <project-ID>
    
  4. Aggiungi l’archivio Bitbucket come archivio remoto.

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

    Il nome predefinito per la connessione remota può essere origin o magento. Se origin esiste, è possibile scegliere un nome diverso oppure rinominare o eliminare il riferimento esistente. Consulta la documentazione Git-Remote.

  5. Verificare di aver aggiunto correttamente il telecomando Bitbucket.

    code language-bash
    git remote -v
    

    Risposta prevista:

    code language-none
    origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch)
    origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
    
  6. Invia i file di progetto al nuovo archivio Bitbucket. Ricordati di mantenere invariati tutti i nomi dei rami.

    code language-bash
    git push -u origin master
    

    Se si sta iniziando con un nuovo archivio Bitbucket, potrebbe essere necessario utilizzare l'opzione -f, perché l'archivio remoto non corrisponde alla copia locale.

  7. Verifica che l’archivio Bitbucket contenga tutti i file di progetto.

Creare un consumatore OAuth

L'integrazione di Bitbucket richiede un consumer OAuth. Per completare la sezione successiva, sono necessari gli OAuth key e secret di questo consumer.

Per creare un consumer OAuth in Bitbucket:

  1. Accedi al tuo account Bitbucket.

  2. Fai clic su Impostazioni > Gestione degli accessi > OAuth.

  3. Fare clic su Aggiungi consumer e configurarlo come segue:

    Configurazione consumer OAuth Bitbucket

    note warning
    WARNING
    Non è necessario un URL di richiamata valido, ma è necessario immettere un valore in questo campo per completare correttamente l'integrazione.
  4. Fai clic su Salva.

  5. Fai clic sul consumatore Nome per visualizzare la tua OAuth key e secret.

  6. Copia il tuo OAuth key e secret per configurare l'integrazione.

Configurare l’integrazione

  1. Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.

  2. Creare un file temporaneo denominato bitbucket.json e aggiungere quanto segue, sostituendo le variabili tra parentesi angolari con i valori:

    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
    Assicurati di utilizzare il nome dell’archivio Bitbucket e non l’URL. L’integrazione non riesce se utilizzi un URL.
  3. Aggiungere l'integrazione al progetto utilizzando lo strumento CLI magento-cloud.

    note warning
    WARNING
    Il comando seguente sovrascrive il codice all nel progetto di infrastruttura cloud di Adobe Commerce con il codice dell'archivio Bitbucket. Sono inclusi tutti i rami, incluso il ramo production. Questa azione si verifica immediatamente e non può essere annullata. Come best practice, è importante clonare tutti i rami dal progetto di infrastruttura cloud Adobe Commerce on e inviarli all'archivio Bitbucket prima dell'aggiunta dell'integrazione Bitbucket.
    code language-bash
    magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
    

    Restituisce una risposta HTTP lunga con intestazioni. In caso di esito positivo, l’integrazione restituisce il codice di stato 200 o 201. Lo stato 400 o superiore indica che si è verificato un errore.

  4. Eliminare il file bitbucket.json temporaneo.

  5. Verifica l’integrazione del progetto.

    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 |
    +----------+-----------+--------------------------------------------------------------------------------+
    

    Prendere nota dell'URL hook per configurare un webhook in BitBucket.

Aggiungere un webhook in BitBucket

Per comunicare eventi, come un push, con il server Cloud Git, è necessario disporre di un webhook per l’archivio BitBucket. Il metodo di impostazione di un’integrazione Bitbucket descritto in questa pagina, se seguito correttamente, crea automaticamente un webhook. È importante verificare il webhook per evitare la creazione di più integrazioni.

  1. Accedi al tuo account Bitbucket.

  2. Fai clic su Archivi e seleziona il progetto.

  3. Fai clic su Impostazioni archivio > Flusso di lavoro > Webhook.

  4. Verifica il webhook prima di continuare.

    Se l'hook è attivo, salta i passaggi rimanenti e verifica l'integrazione. L'hook deve avere un nome simile a "Adobe Commerce on cloud infrastructure <project_id>" e un formato URL hook simile a: https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook

  5. Fai clic su Aggiungi webhook.

  6. Nella visualizzazione Aggiungi nuovo webhook, modifica i campi seguenti:

    • Titolo: Integrazione Adobe Commerce
    • URL: utilizza l'URL hook dall'elenco di integrazione magento-cloud
    • Triggers: il valore predefinito è un push di base dell'archivio
  7. Fai clic su Salva.

Testare l’integrazione

Dopo aver configurato l'integrazione Bitbucket, è possibile verificare che l'integrazione sia operativa utilizzando CLI magento-cloud:

magento-cloud integration:validate

Oppure puoi testarlo inviando una semplice modifica all’archivio Bitbucket.

  1. Creare un file di test.

    code language-bash
    touch test.md
    
  2. Esegui il commit e invia la modifica all’archivio Bitbucket.

    code language-bash
    git add . && git commit -m "Testing Bitbucket integration" && git push
    
  3. Accedi a Cloud Console e verifica che il messaggio di commit sia visualizzato e che il progetto sia in fase di distribuzione.

    Verifica dellintegrazione di Bitbucket

Creare un ramo Cloud

L’integrazione Bitbucket non può attivare nuovi ambienti nel progetto di infrastruttura cloud Adobe Commerce on. Se crei un ambiente con Bitbucket, devi attivarlo manualmente. Per evitare questo passaggio aggiuntivo, è consigliabile creare ambienti utilizzando lo strumento CLI magento-cloud o Cloud Console.

Per attivare un ramo creato con Bitbucket:

  1. Utilizzare l'interfaccia della riga di comando magento-cloud per inviare il ramo.

    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. Verifica che l’ambiente sia attivo.

    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
    

Dopo aver creato un ambiente, puoi inviare il ramo corrispondente all’archivio Bitbucket remoto utilizzando i normali comandi Git. Modifiche successive al ramo in Bitbucket generano e distribuiscono automaticamente l’ambiente.

Rimuovere l’integrazione

Puoi rimuovere in modo sicuro l’integrazione Bitbucket dal progetto senza influire sul codice.

Per rimuovere l'integrazione di Bitbucket:

  1. Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.

  2. Elencare le integrazioni. Per completare il passaggio successivo, è necessario disporre dell’ID integrazione Bitbucket.

    code language-bash
    magento-cloud integration:list
    
  3. Elimina l’integrazione.

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

Inoltre, puoi rimuovere l'integrazione Bitbucket accedendo al tuo account Bitbucket e revocando la concessione OAuth nella pagina Impostazioni dell'account.

Integrazione del server bitbucket

Per utilizzare l’integrazione con il server Bitbucket, è necessario quanto segue:

Sebbene sia possibile utilizzare Cloud CLI per eseguire i passaggi di integrazione del server Bitbucket, il comando completo è simile al seguente:

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

Utilizzare il comando help per ulteriori requisiti di utilizzo e opzioni: magento-cloud integration:add --help

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