Modalità di deployment avanzata

Con l'integrazione Git predefinita di Looker, gli sviluppatori di Looker eseguono il commit delle modifiche al ramo di sviluppo, quindi uniscono il ramo di sviluppo al ramo di produzione. Poi, quando esegui il deployment nell'ambiente Looker, Looker utilizza l'ultimo commit nel ramo di produzione. Per il flusso di lavoro Git predefinito e altre opzioni per implementazioni Git avanzate, consulta la pagina di documentazione Utilizzo del controllo della versione e deployment.

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

La modalità di deployment avanzata consente di consolidare i repository nei flussi di lavoro per sviluppatori multi-ambiente, in cui ogni ambiente punta a una versione diversa di un codebase. Inoltre, consente a uno o più sviluppatori o amministratori di avere un maggiore controllo sulle modifiche di cui viene eseguito il deployment in produzione.

Quando la modalità di deployment avanzata è abilitata, Looker non chiede agli sviluppatori di eseguire il deployment delle modifiche in produzione. Looker chiede invece agli sviluppatori di unire le modifiche nel ramo di produzione. Da qui, le modifiche possono essere implementate solo nei seguenti modi:

Attivare la modalità di deployment avanzata

Per attivare la modalità di deployment avanzata:

  1. Nell'IDE di Looker, vai alla pagina Configurazione progetto selezionando l'icona Impostazioni dal menu delle icone e poi selezionando la scheda Configurazione.
  2. Nella pagina Configurazione progetto, seleziona la casella di controllo accanto ad Attiva modalità di deployment avanzata nella sezione Deployment.
  3. Seleziona il pulsante Salva configurazione progetto per salvare la modifica.

Controllo della versione con la modalità di deployment avanzata

Quando la modalità di deployment avanzata è attivata, il deployment in produzione da Looker non è più un'opzione per gli sviluppatori. Invece, quando lo sviluppatore esegue un commit, il pulsante Git gli chiede di unire le modifiche al ramo principale anziché di eseguire il deployment in produzione.

Le modifiche vengono implementate in produzione utilizzando un webhook, l'API o Deployment Manager.

Deployment Manager

Per i progetti con la modalità di deployment avanzata attivata, gli sviluppatori di Looker che dispongono dell'autorizzazione deploy possono utilizzare Deployment Manager per eseguire il deployment di un commit o di un tag nell'ambiente di produzione di Looker.

Puoi accedere a Deployment Manager selezionando l'icona Esegui il deployment dal menu delle icone.

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

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

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

Se il ramo di produzione ha commit più recenti rispetto al commit di cui è stato eseguito il deployment, Deployment Manager mostra queste informazioni e il commit più recente che gli sviluppatori di Looker hanno unito al ramo di produzione.

Deployment di un commit da Deployment Manager

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

  1. Per eseguire il deployment di un commit che non è ancora stato eseguito, fai clic sul pulsante Seleziona commit per selezionare tra tutti i commit uniti al ramo di produzione 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 remoto, fai clic sul pulsante Esegui deployment dell'ultima versione.
  3. Per eseguire il deployment di un commit o di un tag di cui è già stato eseguito il deployment, fai clic sul menu con tre puntini Opzioni in Deployment Manager e poi su Esegui il deployment in produzione.

Se scegli un commit che non è stato eseguito il deployment in precedenza, Deployment Manager visualizza il menu Esegui il deployment del commit. Per eseguire il deployment di un commit dal menu Esegui il deployment del commit:

  1. Per eseguire il deployment del commit senza assegnargli un tag, seleziona Esegui il deployment senza tag e poi Esegui il deployment nell'ambiente. In caso contrario, mantieni selezionata l'opzione Tagga e implementa.
  2. Specifica un tag per il commit. Un tag Git indica l'importanza del commit nella cronologia del repository, ad esempio un numero di release o un nome di versione. Tieni presente quanto segue in merito ai tag Git:

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

  4. Seleziona Esegui il deployment nell'ambiente per eseguire il deployment del commit nella versione di produzione dell'istanza di Looker.

Una volta eseguito il deployment di un commit, Deployment Manager lo contrassegnerà come versione corrente nell'ambiente di produzione di 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 webhook per il tuo progetto Looker dalla pagina Configurazione progetto. L'aggiunta di un secret del webhook garantisce 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 attivata. Un webhook serve per il deployment della testa di un ramo, mentre l'altro per il deployment di un tag o di una SHA Git specifici.

Il webhook per il deployment della testa di un ramo utilizza questo formato:

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

Il webhook per il deployment di una SHA di commit o di un tag utilizza questo formato:

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

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

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 nell'ambiente di produzione.

Per eseguire il deployment con l'API, l'utente API che effettua la chiamata deve disporre dell'autorizzazione deploy. Per saperne di più sull'autenticazione e sull'utilizzo dell'API Looker, consulta le pagine della documentazione Autenticazione dell'API Looker e 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

Per eseguire il deployment manualmente utilizzando l'endpoint API deploy_ref_to_production, consulta gli esempi riportati di seguito, che utilizzano il metodo HTTPS. Per ulteriori informazioni ed esempi di chiamate manuali all'API utilizzando le richieste CURL, consulta il file readme How to Authenticate to the API di GitHub o utilizza Explorer API. Puoi installare Explorer API nella tua istanza Looker da Looker Marketplace.

Utilizza i seguenti esempi in una richiesta HTTPS per eseguire il deployment dell'head di un ramo o di uno SHA o un tag 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 una SHA del commit o di un tag: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

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

Il deployment con deploy_ref_to_production con il metodo SDK è simile al seguente:

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

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