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.
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.
-
Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.
code language-bash magento-cloud login
-
Elencare i progetti e copiare l’ID del progetto.
code language-bash magento-cloud project:list
-
Clona il progetto nell’ambiente locale.
code language-bash magento-cloud project:get <project-ID>
-
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
omagento
. Seorigin
esiste, è possibile scegliere un nome diverso oppure rinominare o eliminare il riferimento esistente. Consulta la documentazione Git-Remote. -
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)
-
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. -
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:
-
Accedi al tuo account Bitbucket.
-
Fai clic su Impostazioni > Gestione degli accessi > OAuth.
-
Fare clic su Aggiungi consumer e configurarlo come segue:
note warning WARNING Non è necessario un URL di richiamata valido, ma è necessario immettere un valore in questo campo per completare correttamente l'integrazione. -
Fai clic su Salva.
-
Fai clic sul consumatore Nome per visualizzare la tua OAuth
key
esecret
. -
Copia il tuo OAuth
key
esecret
per configurare l'integrazione.
Configurare l’integrazione
-
Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.
-
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. -
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.
-
Eliminare il file
bitbucket.json
temporaneo. -
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.
-
Accedi al tuo account Bitbucket.
-
Fai clic su Archivi e seleziona il progetto.
-
Fai clic su Impostazioni archivio > Flusso di lavoro > Webhook.
-
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
-
Fai clic su Aggiungi webhook.
-
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
-
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.
-
Creare un file di test.
code language-bash touch test.md
-
Esegui il commit e invia la modifica all’archivio Bitbucket.
code language-bash git add . && git commit -m "Testing Bitbucket integration" && git push
-
Accedi a Cloud Console e verifica che il messaggio di commit sia visualizzato e che il progetto sia in fase di distribuzione.
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:
-
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)
-
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:
-
Dal terminale, accedi al tuo progetto di infrastruttura cloud Adobe Commerce on.
-
Elencare le integrazioni. Per completare il passaggio successivo, è necessario disporre dell’ID integrazione Bitbucket.
code language-bash magento-cloud integration:list
-
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:
- Token di accesso Bitbucket - Genera un token che concede l'accesso al progetto
read
e all'archivioadmin
- URL del server Bitbucket - Aggiungi l'URL di base dell'istanza Bitbucket
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