Questa pagina descrive come configurare gli elementi del progetto per l'integrazione con Git per il controllo della versione.
Impostazioni progetto
Per visualizzare le impostazioni del progetto, apri il progetto, quindi seleziona l'icona Impostazioni dal menu delle icone dell'IDE di Looker.
Da qui puoi accedere a tre schede Impostazioni progetto:
Configurazione
La scheda Configurazione della pagina Impostazioni progetti apre la pagina Configurazione progetto. Nella pagina Configurazione progetto, puoi configurare le seguenti impostazioni:
- Nome: il nome del progetto. Puoi rinominare il progetto modificando il testo e facendo clic sul pulsante Salva configurazione progetto. Per ulteriori dettagli, consulta la pagina della documentazione Consultazione e modifica delle informazioni sui progetti.
Nome ramo di produzione Git: specifica il nome del ramo Git da utilizzare come destinazione di unione per i rami di sviluppo del progetto. Il branch Git deve esistere nel repository Git. Per saperne di più, consulta la sezione Nome del ramo di produzione Git in questa pagina.
Qualità del codice: determina se richiedere agli sviluppatori di eseguire correttamente il validatore LookML sul progetto prima di eseguire il commit di eventuali modifiche al progetto. Qualità del codice offre le seguenti opzioni:
- Richiedi la correzione degli avvisi e degli errori prima di eseguire il commit: gli sviluppatori di Looker possono eseguire il commit delle modifiche solo dopo aver eseguito correttamente lo strumento di convalida LookML e risolto tutti gli errori e gli avvisi. Si tratta dell'impostazione consigliata.
- Richiedi solo la correzione degli errori prima di eseguire il commit: gli sviluppatori di Looker possono eseguire il commit delle modifiche solo dopo aver eseguito correttamente lo strumento di convalida LookML e risolto tutti gli errori. Gli sviluppatori possono eseguire il commit delle modifiche quando sono presenti avvisi. Sebbene non sia consigliata, questa opzione può essere utile, ad esempio, se vengono introdotti nuovi avvisi nel codice LookML funzionante dopo un aggiornamento di Looker.
- Consenti il commit di codice danneggiato: gli sviluppatori di Looker possono eseguire il commit delle modifiche senza eseguire il validatore LookML e indipendentemente dalla presenza di errori o avvisi in LookML. Questa opzione non è consigliata perché può generare codice LookML non funzionante o che produce risultati errati.
Richiedi il superamento dei test sui dati prima del deployment di questo progetto in produzione: se il progetto LookML ha uno o più parametri
test
, questa opzione richiede agli sviluppatori di eseguire i test sui dati prima di eseguire il deployment di qualsiasi modifica. Se i test dei dati vengono superati, l'IDE consentirà allo sviluppatore di eseguire il deployment delle modifiche in produzione. Consulta la pagina della documentazione relativa al parametrotest
per informazioni sulla configurazione dei test dei dati nel progetto LookML. Per informazioni sull'esecuzione di test sui dati del tuo progetto, consulta la pagina della documentazione Utilizzo del controllo delle versioni e deployment. Per impostazione predefinita, l'opzione Richiedi il superamento dei test sui dati prima del deployment di questo progetto in produzione è attivata per i nuovi progetti LookML.Integrazione Git: specifica i livelli di integrazione con il tuo provider Git. Per maggiori dettagli, consulta Opzioni di integrazione di Git.
Abilita modalità di deployment avanzata: un'impostazione che, se attivata, consente agli utenti di eseguire il deployment di qualsiasi SHA, tag o ramo in produzione. Per ulteriori informazioni sull'utilizzo del controllo delle versioni con la modalità di deployment avanzata attivata, consulta la pagina della documentazione Modalità di deployment avanzata.
Secret di deployment del webhook: configura l'autenticazione per il deployment delle modifiche alla produzione nell'istanza di Looker. Per maggiori dettagli, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
Reimposta connessione Git: questo pulsante apre la finestra Configura Git, in cui puoi aggiornare le impostazioni di connessione per il repository Git.
Il ripristino della connessione Git manterrà la cronologia Git per il ramo principale. Verrà inoltre conservata la cronologia del ramo personale di ogni sviluppatore di Looker dopo la sincronizzazione della modalità di sviluppo. Per conservare la cronologia di tutti i rami, consulta la pagina Best practice per la migrazione a un nuovo repository Git.
Elimina progetto: questo pulsante elimina il progetto, rimuovendo tutto il codice LookML dal progetto in tutti gli ambienti di sviluppo e produzione dell'istanza di Looker.
Riepilogo Git: questa sezione mostra la configurazione Git del progetto e le informazioni sul ramo Git dell'utente corrente.
Nome del ramo di produzione Git
Con l'integrazione Git predefinita di Looker, tutti gli sviluppatori di Looker uniscono le modifiche in un branch principale denominato master
. Puoi utilizzare il campo Nome ramo di produzione Git per specificare quale ramo del repository Git deve essere utilizzato da Looker come ramo di destinazione in cui vengono uniti i rami degli sviluppatori Looker. 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 i progetti esistenti, valuta la possibilità di eseguire le seguenti operazioni prima di modificare il nome del ramo di produzione Git:
- Chiedi a tutti gli sviluppatori del progetto Looker di eseguire il commit delle modifiche e unire i branch al branch di produzione esistente, quindi metti in pausa il loro lavoro finché il nome del branch di produzione Git non viene aggiornato e salvato nella configurazione del progetto Looker.
- Se il tuo progetto utilizza le richieste di pull integrate, finalizza e unisci le richieste di pull aperte, se necessario.
- Esegui le preparazioni necessarie sul lato del provider Git, ad esempio creando un nuovo ramo nel repository, rinominando il ramo Git predefinito esistente o qualsiasi altra azione necessaria per preparare il ramo in modo che Looker possa utilizzarlo come ramo di destinazione per l'unione. Come minimo, devi verificare che il branch che vuoi utilizzare sia un branch esistente nel tuo repository Git.
Per modificare il ramo Git che il tuo progetto utilizza come destinazione di unione per i rami di sviluppo:
- Seleziona l'icona Impostazioni dal menu delle icone dell'IDE di Looker per visualizzare le impostazioni del progetto. Per impostazione predefinita, viene visualizzata la scheda Configurazione.
- Nel campo Nome ramo di produzione Git, inserisci il nome del ramo Git che vuoi utilizzare come ramo di produzione per il tuo progetto Looker.
- Fai clic sul pulsante Salva configurazione progetto per salvare la modifica.
Importa credenziali
La sezione Importa credenziali consente di gestire le credenziali di autenticazione per i repository remoti privati. Per ulteriori dettagli, consulta la pagina di documentazione Importazione di file da altri progetti .
Gestione branch
Nella scheda Gestione dei rami della pagina Impostazioni progetto, puoi visualizzare tutti i rami Git associati al progetto. Per ulteriori dettagli, consulta la pagina della documentazione Utilizzo del controllo delle versioni e deployment.
Opzioni di integrazione di Git
Una volta configurata la connessione Git, Looker utilizzerà il tuo provider Git per gestire i file di origine LookML, come descritto nella pagina della documentazione Utilizzo del controllo della versione e deployment.
Se sei un amministratore di Looker, puoi configurare opzioni aggiuntive per l'integrazione di Looker con Git utilizzando le opzioni Integrazione Git nella scheda Configurazione del riquadro delle impostazioni del progetto:
- Off: Looker non mostrerà link esterni all'interfaccia del tuo provider Git.
- Mostra link: Looker fornirà link esterni all'interfaccia del tuo provider Git in modo che gli sviluppatori possano visualizzare il progetto nell'interfaccia del provider Git. Looker fornirà anche i link per ogni file di progetto in modo che gli sviluppatori possano visualizzare la cronologia del file e le informazioni di Git blame nell'interfaccia del provider Git. Per informazioni sui link, consulta la sezione Integrazione di link esterni al provider Git.
- Richieste di pull consigliate: oltre a fornire link esterni all'interfaccia del provider Git, Looker offre agli sviluppatori la possibilità di inviare una richiesta di pull in modo che un altro sviluppatore possa approvare le modifiche prima di aggiungerle al progetto. Per informazioni sulla configurazione, consulta la sezione Integrazione delle richieste di pull per il progetto.
- Richieste di pull obbligatorie: questa opzione è uguale a Richieste di pull consigliate, tranne per il fatto che gli sviluppatori LookML sono tenuti ad aprire una richiesta di pull per inviare le modifiche al progetto. Per informazioni sulla configurazione, consulta la sezione Integrazione delle richieste di pull per il progetto.
Per salvare le impostazioni di integrazione di Git, fai clic su Salva configurazione progetto nella sezione Deployment.
Integrazione di link esterni al tuo provider Git
Se hai attivato una delle opzioni di integrazione Git aggiuntive (Mostra link, Richieste pull consigliate o Richieste pull obbligatorie), Looker fornisce link esterni all'interfaccia del tuo provider Git. Questi link esterni aprono una nuova scheda del browser al sito del tuo provider Git.
Per visualizzare questi link esterni, gli sviluppatori devono avere un account con il tuo provider Git e devono avere accesso al repository Git del progetto.
Nel menu con tre puntini Opzioni file per ciascuno dei tuoi file LookML, Looker fornisce link al sito del tuo provider Git per visualizzare il file, le informazioni di Git blame per il file e la cronologia dei commit per il file.
Nel riquadro Azioni Git, puoi anche utilizzare l'opzione Visualizza progetto su <Git provider>
per aprire i file del progetto sul sito del tuo provider Git.
Integrazione delle pull request per il tuo progetto
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.
Anziché consentire agli sviluppatori di Looker di unire il ramo di sviluppo al ramo di produzione di Looker, puoi configurare il progetto con l'opzione Richieste pull consigliate o Richieste pull obbligatorie:
- Pull Request consigliate: dopo che uno sviluppatore esegue il commit delle modifiche al ramo di sviluppo, il pulsante Git nell'IDE di Looker chiede allo sviluppatore di aprire una pull request per unire il ramo di sviluppo al ramo di produzione. Lo sviluppatore può quindi aprire una richiesta pull per consentire ad altri sviluppatori Looker di esaminarla e approvarla dall'interfaccia web del provider Git. In alternativa, lo sviluppatore può utilizzare l'opzione Deploy to Production (Esegui il deployment in produzione) dal pannello Git Actions per saltare la creazione di una richiesta pull ed eseguire il deployment delle modifiche in produzione. L'opzione Esegui il deployment in produzione non è disponibile se il progetto è abilitato con la modalità di deployment avanzata.
- Richieste pull obbligatorie: dopo che uno sviluppatore esegue il commit delle modifiche al ramo di sviluppo, il pulsante Git nell'IDE di Looker chiede allo sviluppatore di aprire una richiesta pull. Lo sviluppatore deve aprire una richiesta di pull per unire il ramo di sviluppo al ramo di produzione. Dopodiché, altri sviluppatori Looker possono esaminare e approvare la richiesta pull dall'interfaccia web del provider Git.
Looker supporta l'integrazione delle richieste di pull per i seguenti provider Git:
- GitHub
- GitLab
- Bitbucket Cloud
- Bitbucket Server (in precedenza "Stash")
Ecco alcune note aggiuntive sull'utilizzo delle richieste pull con Looker:
Per aprire le richieste di pull, gli sviluppatori devono avere un account con il tuo provider Git e devono avere accesso al repository Git del progetto.
Se la funzionalità Lista consentita di indirizzi IP è abilitata nella tua istanza, per integrare le richieste di pull con qualsiasi progetto LookML dovrai aggiungere alla lista consentita l'intervallo di indirizzi IP da cui il tuo provider Git effettua le richieste in uscita. Ad esempio, gli indirizzi IP GitHub attuali sono elencati nel changelog di GitHub. Gli IP sono soggetti a modifiche e saranno diversi per altri provider Git.
Se hai attivato la modalità di deployment avanzata, non è necessario configurare un webhook nella sezione Configurazione del progetto con pull request integrate, poiché la modalità di deployment avanzata separa le funzioni di unione e deployment.
Se uno sviluppatore Looker ha emesso una richiesta di pull che vuoi ripristinare, consulta il post della community Come ripristinare le richieste di pull da Looker tramite GitHub per maggiori informazioni.
Le richieste di pull di Git possono consentire l'utilizzo di un'istanza di staging per Looker, in modo da avere un'istanza di staging e un'istanza di produzione, con le richieste di pull abilitate nell'istanza di staging. Tutto lo sviluppo e la revisione del codice possono essere eseguiti nell'ambiente di gestione temporanea e il codice esaminato può essere poi implementato nell'istanza di produzione. Per configurare questa opzione, consulta il post della community Flusso di lavoro Git che utilizza un repository in più istanze: sviluppo, staging e produzione.
Looker unisce le modifiche di un ramo di sviluppo di Looker al ramo di produzione utilizzando il metodo di unione merge commit. Quando utilizzi l'interfaccia del tuo provider Git, assicurati che gli sviluppatori non utilizzino l'unione squash né l'unione rebase. Per saperne di più, consulta la sezione Opzioni di unione nell'interfaccia del provider Git.
Configurazione del progetto con pull request integrate
Per configurare il progetto Looker con le richieste di pull Git:
- Nel progetto, seleziona Impostazioni dal menu dell'icona dell'IDE di Looker.
- Nella sezione Integrazione Git della scheda Configurazione, seleziona Richieste pull consigliate o Richieste pull obbligatorie.
- (Facoltativo) Se vuoi configurare un webhook di deployment automatico nell'interfaccia del tuo provider Git, copia le informazioni del webhook e incollale in un file di testo. Se il tuo progetto è configurato per utilizzare la modalità di deployment avanzata, puoi saltare questo passaggio. Puoi anche decidere in un secondo momento e tornare alle impostazioni del progetto per ottenere le informazioni sul webhook.
- Se vuoi, puoi configurare un secret di deployment webhook per autenticare un webhook di deployment automatico dal tuo provider Git o un webhook in modalità di deployment avanzata. Per creare un secret webhook, fai clic su Imposta secret webhook. Copia il segreto di deployment e incollalo in un file di testo da utilizzare quando aggiungi il webhook all'interfaccia del tuo provider Git. Puoi anche decidere in un secondo momento e tornare alle impostazioni del progetto per aggiungere un segreto di deployment. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
- Fai clic su Salva configurazione progetto.
Ora, ogni volta che uno sviluppatore Looker esegue il commit delle modifiche al tuo progetto, l'IDE di Looker mostra il pulsante Apri richiesta di pull. Il pulsante apre una nuova scheda del browser direttamente alla nuova pagina della richiesta pull sul sito web del tuo provider Git.
Dopo aver configurato il progetto Looker per l'utilizzo delle richieste di pull, esegui una delle seguenti operazioni per configurare la modalità di deployment dei commit nell'ambiente di produzione:
- Per eseguire automaticamente il deployment dei commit più recenti uniti al ramo di produzione, utilizza l'interfaccia del tuo provider Git per aggiungere un webhook, come descritto nella sezione successiva di questa pagina.
- Per specificare manualmente i rami o i commit di cui viene eseguito il deployment, attiva la modalità di deployment avanzata. Per informazioni sull'attivazione e la gestione della modalità di deployment avanzata, consulta la pagina della documentazione Modalità di deployment avanzata.
Aggiungere un webhook al tuo provider Git
Per i progetti Looker abilitati per le richieste di pull, puoi configurare un webhook di deployment nell'interfaccia del tuo provider Git. Questo webhook attiverà Looker per eseguire il deployment dell'ultimo commit dal ramo di produzione ogni volta che unisci una richiesta di pull nell'interfaccia del provider Git.
Nella maggior parte dei casi, non è consigliabile configurare un webhook di deployment automatico se il progetto è configurato per utilizzare la modalità di deployment avanzata. La modalità di deployment avanzata ti consente di selezionare il commit e il ramo di cui vuoi eseguire il deployment, quindi nella maggior parte dei casi la configurazione di un webhook di deployment automatico annullerebbe le funzionalità della modalità di deployment avanzata.
Per aggiungere un webhook di deployment automatico nell'interfaccia del tuo provider Git, vai innanzitutto alle impostazioni del progetto in Looker facendo clic sull'icona Impostazioni nel menu dell'icona dell'IDE di Looker del progetto. Successivamente, copia il webhook dalla sezione Integrazione Git.
Il webhook ha il formato <instance_url>/webhooks/projects/<project_name>/deploy
.
Sostituisci <instance_url>
con l'URL della tua istanza Looker. Ad esempio, se l'URL dell'istanza Looker è example.looker.com
e il nome del progetto è e_faa
, il webhook avrà il seguente aspetto:
https://example.looker.com/webhooks/projects/e_faa/deploy
Dalle impostazioni del progetto Looker, puoi anche ottenere un secret di deployment webhook per autenticare le integrazioni Git del tuo progetto con il tuo provider Git. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
Una volta ottenuti l'URL webhook e il segreto webhook di deployment, puoi inserirli nell'interfaccia del tuo provider Git. Se il tuo provider Git è GitHub, segui questi passaggi:
- Vai alle impostazioni del repository del progetto nel repository GitHub.
- Nelle impostazioni del repository, fai clic su Webhook. Fai clic su Aggiungi webhook per aprire la finestra Aggiungi webhook.
- Nel campo URL payload, incolla le informazioni sul webhook copiate dalla sezione Integrazione Git in Looker.
- Se vuoi, puoi aggiungere un secret di deployment webhook che autentica le integrazioni Git del tuo progetto con il tuo provider Git. Copia il secret di deployment dalle impostazioni del progetto LookML e incollalo nel campo Secret nell'interfaccia del provider Git. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
- Seleziona l'opzione Solo l'evento push nel campo Quali eventi vuoi che attivino questo webhook?.
- Fai clic su Aggiungi webhook.
Utilizzo di un webhook di deployment per eseguire il pull da un repository Git remoto
Quando le richieste di pull sono abilitate per il tuo progetto LookML e i webhook di deployment non sono automatizzati, potresti notare che il codice LookML visualizzato nella modalità di produzione di Looker non corrisponde a quello del ramo principale del tuo repository Git. Ciò può verificarsi nelle seguenti situazioni:
- Quando le richieste di pull sono abilitate per il repository
- Quando il codice LookML è stato modificato al di fuori dell'ambiente di sviluppo di Looker, ad esempio:
- Nel repository Git stesso
- Su un'altra istanza Looker, ad esempio un'istanza di staging
Puoi sincronizzare il ramo di produzione di Looker con il ramo principale del repository utilizzando un webhook di deployment:
Apri una nuova scheda del browser e digita il seguente URL, sostituendo
<instance_url>
con l'URL dell'istanza di Looker e<project_name>
con il nome del tuo progetto LookML:<instance_url>/webhooks/projects/<project name>/deploy
Dopo aver eseguito l'URL del webhook di deployment, una pagina web vuota mostrerà un messaggio di operazione riuscita simile al seguente:
{"operations":[{"error":false,"error_code":0,"command":"Checkout Branch #\u003cLooker::GitBranch:0x5798672b\u003e","node_id":728,"results":["Success"]},{"error":false,"error_code":0,"command":"jgit revert_repo","node_id":728,"results":["Success"]}],"new_head":"05f772af48709fc2799fefe408e3fdd895a63284","old_head":"77412cad9fd7ed3eed1627afa201fdf7dcb97dd1"}
Ora la modalità di produzione in Looker è stata aggiornata in modo da riflettere il ramo principale di Git remoto. Il tuo ramo di sviluppo personale e i rami condivisi non sono interessati.
Pull da un repository Git remoto per webhook con segreti di deployment
Se il tuo progetto LookML richiede anche un webhook deploy secret per il push delle modifiche dal ramo principale al ramo di produzione, riceverai uno dei seguenti errori quando sincronizzi il ramo di produzione con il ramo principale del repository utilizzando il metodo descritto nella sezione precedente, Utilizzare un webhook di deployment per eseguire il pull da un repository Git remoto:
{"error":"Uh oh! Something went wrong."}
Oppure:
{"error":"Not found."}
Anziché utilizzare il webhook di deployment, puoi eseguire il seguente comando cURL nel terminale con il secret del webhook. Assicurati di sostituire i seguenti campi:
- Sostituisci
<instance_URL>
con l'URL dell'istanza Looker. - Sostituisci
<deploy_secret>
con il secret di deployment del progetto. - Sostituisci
<project_name>
con il nome del tuo progetto LookML.
curl -i -X POST -H "X-Looker-Deploy-Secret:<deploy_secret>" https://<instance_url>/webhooks/projects/<project_name>/deploy
Ad esempio, se sincronizzi un branch di produzione per ecommerce_project nell'istanza Brettcase con il branch principale del repository:
curl -i -X POST -H "X-Looker-Deploy-Secret:123123123secretgoeshere123123123" https://brettcase.looker.com/webhooks/projects/ecommerce_project/deploy
Opzioni di unione nell'interfaccia del fornitore Git
Se il tuo progetto Looker è integrato con le richieste di pull, gli sviluppatori utilizzano l'interfaccia del tuo provider Git per inviare richieste di pull e unire le modifiche al ramo di produzione.
Looker supporta il metodo di commit di unione per unire le modifiche da un ramo di sviluppo al ramo di produzione. Tuttavia, l'interfaccia del tuo provider Git potrebbe mostrare opzioni aggiuntive per l'unione, come Squash and merge o Rebase and merge.
Looker non supporta l'unione squash o l'unione rebase, pertanto gli sviluppatori devono evitare di utilizzare queste opzioni. Se possibile, la best practice è disattivare queste opzioni per il repository. Per disattivare queste opzioni in un repository GitHub, segui questi passaggi:
Vai alla scheda Impostazioni per accedere alle impostazioni del repository del progetto su GitHub.
SUGGERIMENTO: per i progetti configurati con l'integrazione Git, puoi utilizzare l'opzione Visualizza progetto su Git dal menu Git del progetto in Looker.
Nelle impostazioni del repository, fai clic su Opzioni nel menu di navigazione.
Vai alla sezione Pulsante Unisci e lascia selezionata solo l'opzione Consenti commit di unione. Disattiva le opzioni Consenti unione squash e Consenti unione rebase.
Una volta disattivate le opzioni di unione, queste non saranno disponibili in GitHub quando gli sviluppatori uniscono un ramo nel repository.