Modalità di deployment avanzata

Con l'integrazione Git Git predefinita, gli sviluppatori di Looker eseguono il commit delle modifiche nel ramo di sviluppo, per poi unire il ramo di sviluppo al ramo production. Quindi, quando esegui il deployment nell'ambiente Looker, Looker utilizza il commit più recente nel ramo production. Consulta la pagina della documentazione Utilizzo del controllo della versione e del deployment per controllare il flusso di lavoro Git predefinito e altre opzioni per le implementazioni Git avanzate.

Per le implementazioni Git avanzate in cui non vuoi utilizzare l'ultimo commit nel ramo production per l'ambiente Looker, un amministratore Looker può abilitare la modalità di deployment avanzata. Se è abilitato, la modalità di deployment avanzata consente a uno sviluppatore con autorizzazione deploy di specificare un SHA o un tag di commit diverso da implementare nell'ambiente di produzione di Looker, anziché utilizzare l'ultimo commit nel ramo production. Se vuoi eseguire il deployment di un commit da un altro ramo, puoi utilizzare la modalità di deployment avanzata webhook o endpoint API.

La modalità di deployment avanzata aiuta a consolidare i repository nei flussi di lavoro degli sviluppatori in più ambienti, in cui ogni ambiente rimanda a una versione diversa di un codebase. Offre inoltre a uno o più sviluppatori o amministratori un maggiore controllo sulle modifiche implementate in produzione.

Quando è attiva la modalità di deployment avanzata, Looker non chiede agli sviluppatori di eseguire il deployment delle modifiche in produzione. Looker invita invece gli sviluppatori a unire le modifiche nel ramo production. Qui puoi implementare le modifiche solo nei seguenti modi:

Abilitazione della modalità di deployment avanzata

Per abilitare la modalità di deployment avanzata:

  1. Vai alla scheda Configurazione della pagina Impostazioni progetto selezionando l'icona Impostazioni dal menu dell'icona a sinistra.
  2. Seleziona la casella di controllo accanto ad Abilita modalità di deployment avanzata, nella sezione Deployment.
  3. Seleziona il pulsante Salva configurazione progetto per salvare la modifica.

Controllo della versione con modalità di deployment avanzata

Quando è attiva la modalità di deployment avanzata, il deployment in produzione da Looker non è più un'opzione per gli sviluppatori. Quando lo sviluppatore prende un commit, il pulsante richiede di unire le modifiche al ramo principale, invece di richiedere il deployment in produzione.

Per il deployment delle modifiche viene eseguito il deployment in produzione utilizzando un webhook, l'API o il gestore del deployment.

Deployment Manager

Per i progetti con la modalità di deployment avanzata abilitata, gli sviluppatori Looker che hanno l'autorizzazione deploy possono utilizzare Deployment Manager per eseguire il deployment di un commit o di un tag nel proprio ambiente di produzione Looker.

Deployment Manager mostra tutti i commit e i tag di cui è stato eseguito il deployment in precedenza utilizzando la modalità di deployment avanzata.

Come descritto nella sezione Deployment di un commit da Deployment Manager in questa pagina, puoi implementare un commit con o senza un tag. Se esegui il deployment di un commit con un tag, il gestore del deployment visualizza l'SHA tag, che è diverso da un SHA di commit. Puoi utilizzare la cronologia dei commit del tuo progetto Looker per visualizzare lo SHA di commit associato a un tag. In caso contrario, se esegui il deployment di un commit senza un tag, il gestore del deployment visualizza l'SHA di commit, che è uguale all'SHA di commit che puoi visualizzare nell'interfaccia del provider Git o nella cronologia di commit del progetto Looker.

Se non hai ancora utilizzato la modalità di deployment avanzata per eseguire il deployment di un commit, seleziona il pulsante Seleziona commit per visualizzare la cronologia dei commit con i commit che gli sviluppatori Looker hanno unito nel ramo production.

Per i progetti che hanno utilizzato la modalità di deployment avanzata per eseguire il deployment di un commit, la cronologia del commit mostrerà anche i tag associati a un commit, se presenti, e indicherà quale commit è la versione corrente utilizzata per la produzione.

Se il ramo production ha commit più recenti del commit di cui è stato eseguito il deployment, il gestore del deployment visualizza queste informazioni e mostra il commit più recente che gli sviluppatori di Looker hanno unito al ramo production.

Deployment di un commit da Deployment Manager

Esistono diversi modi per eseguire il deployment di un commit da Deployment Manager:

  1. Per il deployment di un commit di cui non è ancora stato eseguito il deployment, seleziona il pulsante Seleziona commit per scegliere tra tutti i commit che sono stati uniti al ramo production in remoto. Se vuoi eseguire il deployment di un commit da un altro ramo, utilizza la modalità di deployment avanzata webhook o endpoint API.
  2. Per eseguire il deployment del commit unito più di recente nel ramo di produzione remota, seleziona il pulsante Esegui il deployment più recente.
  3. Per implementare un commit o un tag di cui è stato eseguito il deployment in precedenza, seleziona il menu con tre puntini Opzioni da Deployment Manager e poi Deploy to Production.

Se scegli un commit di cui non è stato eseguito il deployment in precedenza, il Deployment Manager mostrerà la finestra modale Deployment Commit.

  1. Per implementare il commit senza assegnargli un tag, seleziona Esegui il deployment senza tagging e seleziona Esegui il deployment nell'ambiente. In caso contrario, mantieni selezionata l'opzione Tag e implementazione.
  2. Specifica un tag per il commit. Un tag Git indica il significato del commit nella cronologia del repository, ad esempio il numero di release o il nome della versione. Tieni presente quanto segue sui tag Git:

    • I tag Git devono essere univoci all'interno del repository Git. Non puoi utilizzare lo stesso tag per due commit diversi nel tuo repository.
    • I tag Git non possono contenere spazi o alcuni caratteri speciali. Consulta la documentazione Riferimento Git per le regole per la denominazione dei riferimenti in Git.
  3. Se vuoi, puoi aggiungere una descrizione per il tag per fornire ulteriori dettagli sul commit.

  4. Seleziona Deploy to Environment per eseguire il deployment del commit nella versione di produzione dell'istanza di Looker.

Una volta eseguito il deployment di un commit, il gestore del deployment lo contrassegni come versione attuale nel tuo ambiente di produzione Looker.

Deployment con webhook

Per i progetti con la modalità di deployment avanzata, puoi utilizzare il webhook di deployment per eseguire il deployment delle modifiche in produzione.

Per configurare il webhook di deployment, devi prima aggiungere un secret del webhook per il tuo progetto Looker dalla pagina Impostazioni progetto. Questo serve a garantire che solo le parti autorizzate possano attivare il webhook di deployment.

Sono disponibili due webhook per il deployment delle modifiche in produzione con la modalità di deployment avanzata abilitata. Un webhook serve per eseguire il deployment dell'intestazione di un ramo, l'altro per il deployment di uno SHA o di un tag Git specifico.

Il webhook per il deployment dell'intestazione di un ramo utilizza questo formato:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>

Il webhook per implementare un SHA o un tag di commit utilizza questo formato:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>

Sostituisci le informazioni tra parentesi angolari < > con le informazioni specifiche dell'indirizzo dell'istanza, del progetto LookML e del nome del ramo o del SHA/tag di commit. Ecco un webhook di esempio per eseguire il deployment del nome del tag v1.0 per il progetto e_faa nell'istanza di docsexamples.dev.looker.com Looker:

https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0

Deployment con l'API

Per i progetti con la modalità di deployment avanzata, puoi utilizzare l'API Looker per eseguire il deployment delle modifiche in produzione.

Per eseguire il deployment con l'API, l'utente dell'API che effettua la chiamata dovrà disporre dell'autorizzazione deploy. Per ulteriori informazioni sull'autenticazione e sull'utilizzo dell'API Looker, consulta le pagine della documentazione sull'autenticazione delle API Looker e sulla Guida introduttiva all'API.

Per eseguire il deployment con l'API, utilizza l'endpoint deploy_ref_to_production. Questo endpoint può essere chiamato in diversi modi. Gli esempi riportati di seguito si riferiscono ai metodi HTTPS e SDK.

HTTPS

Quando utilizzi gli esempi riportati di seguito, assicurati di sostituire le informazioni tra parentesi angolari < > con le informazioni specifiche dell'indirizzo dell'istanza, del progetto LookML, del nome della filiale, dell'SHA o del tag.

Per eseguire il deployment manuale utilizzando l'endpoint API deploy_ref_to_production, consulta i seguenti esempi che utilizzano il metodo HTTPS. Per ulteriori informazioni ed esempi di chiamate manuali dell'API utilizzando le richieste CURL, consulta il file readme di GitHub Come eseguire l'autenticazione nell'API oppure usa Explorer API. Puoi installare Explorer API nella tua istanza di Looker da Looker Marketplace oppure visualizzare una versione pubblica sul portale per sviluppatori di Looker.

Utilizza i seguenti esempi in una richiesta HTTPS per eseguire il deployment dell'intestazione di un ramo oppure di un tag o di un SHA di commit specifico tramite l'endpoint API deploy_ref_to_production:

Esegui il deployment della testa di un ramo: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

Esegui il deployment di un tag o di un SHA di commit: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

Quando utilizzi gli esempi riportati di seguito, assicurati di sostituire le informazioni tra parentesi angolari < > con le informazioni specifiche per il progetto LookML e il nome del ramo, l'SHA o il tag.

In alternativa, utilizza uno degli SDK di Looker anziché effettuare richieste manuali all'API. Gli SDK gestiscono i dettagli dell'autenticazione, la serializzazione di parametri e risposte e altri problemi.

Il deployment con deploy_ref_to_production con il metodo SDK ha il seguente aspetto:

Esegui il deployment della testa di un ramo: deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

Esegui il deployment di un tag o di un SHA di commit: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})