Integrazione con GitLab
Puoi configurare un archivio GitLab per generare e distribuire automaticamente un ambiente quando invii modifiche al codice. Questa integrazione sincronizza l’archivio GitLab con l’account Adobe Commerce sull’infrastruttura cloud.
Questa integrazione consente di:
- Creare un ambiente quando si crea un ramo
- Ridistribuire l’ambiente quando si unisce una richiesta di pull
- Elimina l’ambiente quando elimini il ramo
Per continuare il processo, è necessario ottenere un token GitLab e un webhook.
Prerequisiti
- Accesso amministratore al progetto di infrastruttura cloud Adobe Commerce on
- Strumento
magento-cloudCLI nell'ambiente locale - Un account GitLab
- Token di accesso personale GitLab con accesso in scrittura all'archivio GitLab. Gli ambiti selezionati devono essere almeno:
apieread_repository.
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 GitLab 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> -
Aggiungere l’archivio GitLab come remoto (supponendo che GitLab sia utilizzato nella versione SaaS).
code language-bash git remote add origin git@gitlab.com:<user-name>/<repo-name>.gitIl nome predefinito per la connessione remota può essere
originomagento. Seoriginesiste, è possibile scegliere un nome diverso oppure rinominare o eliminare il riferimento esistente. Consulta la documentazione Git-Remote. -
Verificare di aver aggiunto correttamente il telecomando GitLab.
code language-bash git remote -vRisposta prevista:
code language-none origin git@gitlab.com:<user-name>/<repo-name>.git (fetch) origin git@gitlab.com:<user-name>/<repo-name>.git (push) -
Invia i file del progetto al nuovo archivio GitLab. Ricordati di mantenere invariati tutti i nomi dei rami.
code language-bash git push -u origin masterSe si sta iniziando con un nuovo archivio GitLab, potrebbe essere necessario utilizzare l'opzione
-f, perché l'archivio remoto non corrisponde alla copia locale. -
Verifica che l’archivio GitLab contenga tutti i file di progetto.
Abilitare l’integrazione con GitLab
Utilizza il comando magento-cloud integration per abilitare l'integrazione GitLab e ottieni l'URL di payload per il webhook GitLab per inviare aggiornamenti da GitLab al tuo progetto di infrastruttura cloud Adobe Commerce.
magento-cloud integration:add --type=gitlab --project=<project-ID> --token=<your-GitLab-token> [--base-url=<GitLab-url> --server-project=<GitLab-project> --build-merge-requests={true|false} --merge-requests-clone-parent-data={true|false} --fetch-branches={true|false} --prune-branches={true|false}]
<project-ID><your-GitLab-token>--base-urlhttps://gitlab.com/ se GitLab è utilizzato nella versione SaaS)--server-project--build-merge-requeststrue per impostazione predefinita)--merge-requests-clone-parent-datatrue per impostazione predefinita)--fetch-branchestrue per impostazione predefinita)--prune-branchestrue per impostazione predefinita)magento-cloud integration sovrascrive il codice all nel progetto di infrastruttura cloud di Adobe Commerce con il codice dell'archivio GitLab. 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 Adobe Commerce on cloud infrastructure e inviarli all’archivio GitLab prima di aggiungere l’integrazione GitLab.Per abilitare l'integrazione GitLab:
-
Dal terminale, aggiungi l’integrazione GitLab al tuo progetto di infrastruttura cloud Adobe Commerce on:
code language-bash magento-cloud integration:add --type gitlab --project=3txxjf32gtryos --token=qVUfeEn4ouze7A7JH --base-url=https://gitlab.com/ --server-project=my-agency/project-name --build-merge-requests=false --merge-requests-clone-parent-data=false --fetch-branches=true --prune-branches=true -
Quando richiesto, immetti
yper aggiungere l'integrazione.code language-none Warning: adding a 'gitlab' integration will automatically synchronize code from the external Git repository. This means it can overwrite all the code in your project. Are you sure you want to continue? [y/N] y -
Copia l'URL hook visualizzato dall'output restituito.
code language-none Hook URL: https://eu-3.magento.cloud/api/projects/3txxjf32gtryos/integrations/eolmpfizzg9lu/hook Created integration eolmpfizzg9lu (type: gitlab) +----------------------------------+---------------------------------------------------------------------------------------+ | Property | Value | +----------------------------------+---------------------------------------------------------------------------------------+ | id | <integration-id> | | type | gitlab | | token | ****** | | base_url | https://gitlab.com/ | | project | my-agency/project-name | | fetch_branches | true | | prune_branches | true | | build_merge_requests | false | | merge_requests_clone_parent_data | false | | hook_url | https://eu-3.magento.cloud/api/projects/<project-id>/integrations/<integration-id>/hook | +----------------------------------+---------------------------------------------------------------------------------------+
Aggiungere il webhook in GitLab
Per comunicare eventi, ad esempio richieste push o merge, con il server Git Cloud, è necessario creare un webhook per l'archivio GitLab
-
Nell'archivio GitLab fare clic sulla scheda Impostazioni.
-
Nella barra di navigazione a sinistra, fai clic su Webhook.
-
Nel modulo Webhook, modifica i campi seguenti:
- URL: immetti
Hook URLrestituito quando abiliti l'integrazione GitLab. - Token segreto: immetti un segreto di verifica, se necessario.
- Attivatore: seleziona
Merge request eventse/oPush eventsa seconda delle tue esigenze. - Abilita verifica SSL: selezionare questa opzione.
- URL: immetti
-
Fai clic su Aggiungi webhook.
Testare l’integrazione
Dopo aver configurato l'integrazione GitLab, è possibile verificare che l'integrazione sia operativa utilizzando l'interfaccia della riga di comando magento-cloud:
magento-cloud integration:validate
Oppure puoi testarlo inviando una semplice modifica all’archivio GitLab.
-
Creare un file di test.
code language-bash touch test.md -
Esegui il commit e invia la modifica all’archivio GitLab.
code language-bash git add . && git commit -m "Testing GitLab 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
Utilizzare il comando magento-cloud CLI environment:push per creare e attivare un nuovo ambiente. Consulta Creare un ramo cloud.
Rimuovere l’integrazione
Utilizzare il comando magento-cloud CLI integration:delete per rimuovere l'integrazione. Vedi Rimuovi l'integrazione.