Modalità di deployment avanzato

Con l'integrazione predefinita di Looker Git, gli sviluppatori di Looker eseguono il commit delle modifiche nel ramo di sviluppo, quindi uniscono 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 dedicata all'utilizzo del controllo della versione e del deployment per il flusso di lavoro Git predefinito e altre opzioni per le implementazioni Git avanzate.

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

La modalità di deployment avanzato aiuta a consolidare i repository nei flussi di lavoro degli sviluppatori multiambiente, in cui ogni ambiente punta a una versione diversa di un codebase. Fornisce inoltre a uno o più sviluppatori o amministratori un maggiore controllo sulle modifiche di cui viene eseguito il deployment in produzione.

Quando è attivata la modalità di deployment avanzato, l'IDE di Looker non richiede agli sviluppatori di eseguire il deployment delle modifiche in produzione. Invece, l'IDE richiede agli sviluppatori di unire le modifiche nel ramo production. In seguito, è possibile implementare le modifiche solo nei seguenti modi:

Attivazione della modalità di deployment avanzato

Per attivare la modalità di deployment avanzato:

  1. Vai alla scheda Configurazione della pagina Impostazioni progetto facendo clic sull'icona Impostazioni nel menu a sinistra dell'icona.
  2. Seleziona la casella di controllo accanto a Enable Advanced Deploy Mode (Attiva la modalità di deployment avanzato), nella sezione Deployment.
  3. Seleziona il pulsante Salva configurazione progetto per salvare la modifica.

Controllo della versione con modalità di deployment avanzata

Quando la modalità di deployment avanzata è attivata, il deployment in produzione dal pulsante nell'IDE non è più disponibile per gli sviluppatori. Quando lo sviluppatore prende un commit, il pulsante chiederà di unire le modifiche al ramo principale anziché richiedere il deployment in produzione:

Le modifiche vengono implementate in produzione utilizzando un webhook, l'API o l'UI di deployment manager nell'IDE di Looker.

Deployment Manager

Per i progetti in cui è abilitata la modalità di deployment avanzato, gli sviluppatori Looker con l'autorizzazione deploy possono utilizzare il gestore deployment nell'IDE di Looker 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 precedentemente implementati utilizzando la modalità di implementazione avanzata.

Come descritto in Implementazione di un commit da Deployment Manager in questa pagina, puoi eseguire il deployment di un commit con o senza un tag. Se esegui il deployment di un commit con un tag, il gestore del deployment visualizza l'algoritmo SHA di tag, diverso da un'SHA commit. Puoi utilizzare la cronologia dei commit del tuo progetto Looker per visualizzare il commit SHA associato a un tag. Altrimenti, se esegui il deployment di un commit senza un tag, il gestore del deployment visualizza l'SHA del commit, che è lo stesso dell'SHA del commit che puoi visualizzare nell'interfaccia del provider Git o nella cronologia dei commit del progetto Looker.

Se non hai ancora utilizzato la modalità di deployment avanzato per il deployment di un commit, fai clic sul pulsante Select Commit (Seleziona commit) per visualizzare la cronologia dei commit con i commit che gli sviluppatori Looker hanno unito al ramo production.

Per i progetti che hanno utilizzato la modalità di deployment avanzato per il deployment di un commit, la cronologia dei commit mostrerà anche gli eventuali tag associati di un commit 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 deployment visualizza queste informazioni e mostra il commit più recente che i tuoi 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 eseguire il deployment di un commit che non è stato ancora eseguito, fai clic sul pulsante Seleziona commit per scegliere tra tutti i commit che sono stati uniti al ramo production remoto. Se vuoi eseguire il deployment di un commit da un ramo diverso, utilizza la modalità avanzata di deployment webhook o endpoint API.
  2. Per eseguire il deployment del commit unito più recente nel ramo production da remoto, fai clic sul pulsante Esegui deployment più recente.
  3. Per implementare un commit o un tag di cui è stato eseguito il deployment in precedenza, fai clic sul menu con tre puntini del gestore di deployment e seleziona Esegui il deployment in produzione.

Se scegli un commit che non è stato ancora eseguito, il gestore di deployment visualizzerà una finestra modale come questa:

  1. Per implementare il commit senza assegnargli un tag, seleziona Esegui il deployment senza tagging e fai clic su Esegui il deployment nell'ambiente. In caso contrario, mantieni selezionata l'opzione Tag e deployment.
  2. Specifica un tag per il commit. Un tag Git contrassegna la rilevanza del commit nella cronologia del repository, ad esempio un numero di versione o il nome di 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 Git Reference per le regole di denominazione dei riferimenti in Git.
  3. Se vuoi, puoi aggiungere una descrizione per il tag per fornire ulteriori dettagli sul commit.

  4. Fai clic su Deploy to Environment (Esegui il deployment in un ambiente) per eseguire il deployment del commit nella versione di produzione della tua istanza di Looker.

Dopo aver eseguito il deployment di un commit, il gestore del deployment lo contrassegnerà come versione corrente nell'ambiente di produzione di Looker:

Deployment con webhook

Per configurare il webhook di deployment, devi prima aggiungere un secret webhook per il progetto Looker dalla pagina Project Settings (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. Uno esegue il deployment dell'intestazione di un ramo, mentre l'altro esegue il deployment di un tag o di un SHA 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 il deployment di un tag SHA o di un tag utilizza questo formato:

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

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

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

Deployment con l'API

Il deployment con l'API Looker è un'alternativa al deployment con un webhook quando è attiva la modalità di deployment avanzato. Per eseguire il deployment con l'API, l'utente dell'API che effettua la chiamata avrà bisogno dell'autorizzazione deploy.

Per ulteriori informazioni sull'autenticazione e sull'utilizzo dell'API Looker, consulta le pagine sulla documentazione relativa all'API Looker e alla guida introduttiva all'API.

Per eseguire il deployment con l'API, utilizza l'endpoint di deploy_ref_to_production. Questo endpoint può essere chiamato in diversi modi. Gli esempi seguenti sono per i metodi HTTPS e SDK.

HTTPS

Quando utilizzi i seguenti esempi, assicurati di sostituire le informazioni nelle parentesi angolari < > con le informazioni specifiche dell'indirizzo dell'istanza, del progetto LookML, del nome del ramo, dell'SHA o del tag.

Per eseguire manualmente il deployment utilizzando l'endpoint API deploy_ref_to_production, vedi gli esempi seguenti che utilizzano il metodo HTTPS. Per scoprire di più ed esempi di chiamate manuali all'API utilizzando le richieste CURL, consulta il file readme di GitHub Come eseguire l'autenticazione nell'API oppure utilizza Explorer API. Puoi installare Explorer API sulla tua istanza di Looker da Looker Marketplace oppure puoi visualizzare una versione pubblica sul portale per sviluppatori di Looker.

Utilizza gli esempi seguenti in una richiesta HTTPS per eseguire il deployment dell'intestazione di un ramo o di un tag SHA o di un tag specifico tramite l'endpoint API di 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 SHA o di un tag di commit: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

Quando utilizzi i seguenti esempi, assicurati di sostituire le informazioni nelle parentesi angolari < > con le informazioni specifiche del tuo progetto LookML e il nome del ramo, SHA o tag.

In alternativa, utilizza uno degli SDK di Looker anziché effettuare richieste manuali all'API. Gli SDK gestiscono i dettagli di autenticazione, 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 SHA o di un tag di commit: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})