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 e seleziona l'icona Impostazioni dal menu delle icone di Looker IDE.
Da qui puoi accedere a tre schede Impostazioni progetto:
Configurazione
La scheda Configurazione della pagina Impostazioni progetto 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 Accesso e modifica delle informazioni sui progetti.
Nome del ramo di produzione Git: specifica il nome del ramo Git da utilizzare come target di unione per i rami di sviluppo del progetto. Il branch Git deve esistere nel tuo repository Git. Per ulteriori informazioni, consulta la sezione Nome del ramo di produzione Git in questa pagina.
Qualità del codice: determina se è necessario che gli sviluppatori eseguano correttamente LookML Validator sul progetto prima di eseguire il commit di eventuali modifiche. Qualità 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 il validatore di LookML e aver 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 il validatore di LookML e aver 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 LookML funzionante dopo un aggiornamento di Looker.
- Consenti di eseguire il commit del codice non funzionante: gli sviluppatori di Looker possono eseguire il commit delle modifiche senza eseguire il validatore di LookML e indipendentemente dal fatto che nel codice LookML siano presenti errori o avvisi. Questa opzione non è consigliata perché può comportare un codice LookML che non funziona 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 implementare eventuali modifiche. Se i test dei dati superano, l'IDE consente allo sviluppatore di eseguire il deployment delle modifiche in produzione. Consulta la pagina di documentazione del parametrotest
per informazioni sulla configurazione dei test dei dati nel tuo progetto LookML. Per informazioni sull'esecuzione di test dei dati nel tuo progetto, consulta la pagina della documentazione Utilizzo del controllo versione e del 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 della versione con la modalità di deployment avanzata abilitata, consulta la pagina della documentazione relativa alla modalità di deployment avanzata.
Secret di deployment del webhook: configura l'autenticazione per il deployment delle modifiche in produzione nell'istanza Looker. Per maggiori dettagli, consulta la pagina della documentazione Configurazione del segreto di deployment dell'webhook.
Reimposta connessione Git: questo pulsante apre la finestra Configura Git, in cui puoi aggiornare le impostazioni di connessione per il tuo repository Git.
Il ripristino della connessione Git consente di conservare la cronologia di Git per il branch principale. Inoltre, preserverà la cronologia del ramo personale di ogni sviluppatore di Looker una volta sincronizzata la modalità di sviluppo. Per preservare la cronologia per 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 di Git di Looker predefinita, tutti gli sviluppatori di Looker uniscono le modifiche in un branch principale denominato master
. Puoi utilizzare il campo Nome del ramo di produzione Git per specificare il ramo del tuo repository Git che Looker deve utilizzare come ramo di destinazione in cui vengono uniti i rami degli sviluppatori di Looker. Consulta la pagina della documentazione Utilizzo del controllo della versione e del deployment per il flusso di lavoro Git predefinito e altre opzioni per le implementazioni avanzate di Git.
Per i progetti esistenti, ti consigliamo di procedere nel seguente modo prima di modificare il nome del ramo di produzione di Git:
- Chiedi a tutti gli sviluppatori del progetto Looker di eseguire il commit delle modifiche e unire i propri branch al branch di produzione esistente, quindi metti in pausa il 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 pull request integrate, completa e unisci le eventuali pull request aperte, a seconda dei casi.
- Esegui le preparazioni necessarie sul lato del provider Git, ad esempio crea un nuovo ramo nel repository, rinomina il ramo Git predefinito esistente o qualsiasi azione potrebbe essere 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 utilizzato dal progetto come target di unione per i rami di sviluppo:
- Seleziona l'icona Impostazioni dal menu delle icone di Looker IDE per visualizzare le impostazioni del progetto. Per impostazione predefinita, viene visualizzata la scheda Configurazione.
- Nel campo Git Production Branch Name (Nome ramo di produzione Git), inserisci il nome del ramo Git che vuoi utilizzare come ramo di produzione per il progetto Looker.
- Fai clic sul pulsante Salva configurazione progetto per salvare la modifica.
Importa credenziali
Nella sezione Importa credenziali puoi gestire le credenziali di autenticazione per i repository remoti privati. Per maggiori dettagli, consulta la pagina della documentazione Importazione di file da altri progetti .
Gestione branch
Nella scheda Gestione dei rami della pagina Impostazioni progetti, puoi vedere tutti i rami Git associati al progetto. Per informazioni dettagliate, consulta la pagina della documentazione relativa all'utilizzo del controllo versione e del deployment.
Opzioni di integrazione di Git
Dopo aver configurato 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 del 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 del 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 Integrare i link esterni al tuo provider Git.
- Pull request consigliate: oltre a fornire link esterni all'interfaccia del tuo provider Git, Looker offre agli sviluppatori la possibilità di inviare una pull request in modo che un altro sviluppatore possa approvare le modifiche prima di aggiungerle al progetto. Per informazioni su come configurare questa opzione, consulta la sezione Integrare le richieste pull per il progetto.
- Pull request obbligatorie: è lo stesso valore di Pull request consigliate, tranne per il fatto che gli sviluppatori LookML sono tenuti ad aprire una pull request per inviare le modifiche al progetto. Per informazioni su come configurare questa opzione, consulta la sezione Integrare le richieste 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, Pull request consigliate o Pull request obbligatorie), Looker fornisce link esterni all'interfaccia del tuo provider Git. Questi link esterni aprono una nuova scheda del browser che rimanda al sito del tuo provider Git.
Per visualizzare questi link esterni, gli sviluppatori devono avere un account presso il tuo provider Git e disporre dell'accesso al repository Git del progetto.
Nel menu Opzioni file con tre puntini 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 richieste pull per il progetto
Con l'integrazione di Git di Looker predefinita, gli sviluppatori di Looker eseguono il commit delle modifiche nel 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 sul ramo di produzione. Consulta la pagina della documentazione Utilizzo del controllo della versione e del deployment per il flusso di lavoro Git predefinito e altre opzioni per le implementazioni avanzate di Git.
Anziché consentire agli sviluppatori di Looker di unire il proprio ramo di sviluppo al ramo di produzione di Looker, puoi configurare il progetto con l'opzione Pull request consigliate o Pull request obbligatorie:
- Pull request consigliate: dopo che uno sviluppatore ha eseguito il commit delle modifiche al proprio 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 di pull per consentire ad altri sviluppatori di Looker di esaminarla e approvarla dall'interfaccia web del provider Git. In alternativa, lo sviluppatore può utilizzare l'opzione Esegui il deployment in produzione nel riquadro Azioni Git per saltare la creazione di una richiesta di pull ed eseguire il deployment delle modifiche in produzione. L'opzione Esegui il deployment in produzione non è disponibile se il progetto è attivato con la modalità di deployment avanzata.
- Pull request obbligatorie: dopo che uno sviluppatore ha eseguito il commit delle modifiche al proprio ramo di sviluppo, il pulsante Git nell'IDE di Looker richiede allo sviluppatore di aprire una pull request. Lo sviluppatore deve aprire una richiesta di pull per unire il proprio ramo di sviluppo al ramo di produzione. Gli altri sviluppatori di Looker possono quindi esaminare e approvare la richiesta di 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")
Di seguito sono riportate alcune note aggiuntive sull'utilizzo delle richieste pull con Looker:
Per aprire 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 IP è attivata nella tua istanza, per integrare le richieste pull con i progetti LookML devi aggiungere alla lista consentita l'intervallo di indirizzi IP da cui il tuo provider Git invia richieste in uscita. Ad esempio, gli indirizzi IP attuali di GitHub sono elencati nel log delle modifiche 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 Configurare il progetto con le richieste pull integrate, poiché la modalità di deployment avanzata separa le funzioni di unione e deployment.
Se uno sviluppatore di Looker ha emesso una richiesta di pull di cui vuoi annullare l'aggiornamento, consulta il post della community Come annullare le richieste di pull da Looker tramite GitHub per saperne di più.
Le richieste pull di Git possono consentire di utilizzare un'istanza di staging per Looker, in modo da avere un'istanza di staging e un'istanza di produzione, con le richieste pull abilitate nell'istanza di staging. Tutte le attività di sviluppo e revisione del codice possono essere eseguite nell'ambiente di gestione temporanea e il codice esaminato può essere implementato nell'istanza di produzione. Per configurare questa impostazione, consulta il post della community Flusso di lavoro Git che utilizza un repository su più istanze: sviluppo, staging e produzione.
Looker unisce le modifiche di un ramo sviluppatore di Looker al ramo di produzione utilizzando il metodo di unione commit di unione. Quando utilizzi l'interfaccia del tuo provider Git, assicurati che gli sviluppatori non utilizzino l'unione per accodamento né l'unione con rebase. Per ulteriori informazioni, consulta la sezione Opzioni di unione nell'interfaccia del provider Git.
Configurazione del progetto con richieste pull integrate
Per configurare il progetto Looker con le richieste di pull Git:
- Nel progetto, seleziona Impostazioni dal menu delle icone di Looker IDE.
- Nella sezione Integrazione Git della scheda Configurazione, seleziona Pull request consigliate o Pull request obbligatorie.
- Se vuoi configurare un webhook di deployment automatico nell'interfaccia del tuo provider Git, copia le informazioni sull'webhook e incollale in un file di testo. Se il 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 recuperare le informazioni sull'webhook.
- Facoltativamente, puoi configurare un secret di deployment webhook per autenticare un webhook di deployment automatico dal tuo provider Git o un webhook della 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 l'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 di Looker esegue il commit di modifiche al progetto, l'IDE di Looker mostra il pulsante Apri richiesta di pull. Il pulsante apre una nuova scheda del browser direttamente nella pagina della nuova richiesta di pull sul sito web del tuo provider Git.
Dopo aver configurato il progetto Looker per utilizzare le richieste pull, esegui una delle seguenti operazioni per configurare il modo in cui i commit vengono di cui vengono eseguiti i deployment nell'ambiente di produzione:
- Per eseguire il deployment automatico degli ultimi commit 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 branch o i commit da eseguire, attiva la modalità di deployment avanzata. Per informazioni su come attivare e gestire la modalità di deployment avanzata, consulta la pagina della documentazione relativa alla modalità di deployment avanzata.
Aggiunta di 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à il deployment del commit più recente dal ramo di produzione ogni volta che unisci una richiesta 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 da eseguire, pertanto 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 all'interfaccia del tuo provider Git, vai prima alle impostazioni del progetto in Looker facendo clic sull'icona Impostazioni nel menu delle icone dell'IDE di Looker del progetto. Quindi, copia l'webhook dalla sezione Integrazione Git.
Il webhook ha il formato <instance_url>/webhooks/projects/<project_name>/deploy
.
Sostituisci <instance_url>
con l'URL dell'istanza di Looker. Ad esempio, se l'URL dell'istanza Looker è example.looker.com
e il nome del progetto è e_faa
, l'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 progetto con il tuo provider Git. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
Una volta ottenuto l'URL 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 Payload URL (URL del payload), incolla le informazioni sull'webhook che hai copiato 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 attivare con 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 pull sono attivate per il progetto LookML e i webhook di deployment non sono automatizzati, a volte potresti notare che il codice LookML visualizzato nella modalità di produzione di Looker non corrisponde a quello nel 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
- In 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 Looker e<project_name>
con il nome del progetto LookML:<instance_url>/webhooks/projects/<project name>/deploy
Dopo aver eseguito l'URL webhook di deployment, in una pagina web vuota viene visualizzato 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 base al ramo principale Git remoto. Il tuo ramo sviluppatore personale e i rami condivisi non sono interessati.
Estrazione da un repository Git remoto per gli webhook con i segreti di deployment
Se il tuo progetto LookML richiede anche un token segreto di deployment webhook per eseguire 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."}
In alternativa:
{"error":"Not found."}
Anziché utilizzare l'webhook di deployment, puoi eseguire il seguente comando cURL nel terminale con il segreto dell'webhook. Assicurati di sostituire i seguenti campi:
- Sostituisci
<instance_URL>
con l'URL dell'istanza di Looker. - Sostituisci
<deploy_secret>
con il secret di deployment del tuo 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 dovessi sincronizzare 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 progetto Looker è integrato con le richieste pull, gli sviluppatori utilizzano l'interfaccia del provider Git per inviare richieste pull e unire le modifiche al ramo di produzione.
Looker supporta il metodo 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, ad esempio Unisci e commina o Rebasing e unione.
Looker non supporta l'unione per annullamento o l'unione con rebase, pertanto gli sviluppatori devono evitare di utilizzare queste opzioni. Se possibile, la best practice è disattivare queste opzioni per il tuo repository. Per disattivare queste opzioni in un repository GitHub:
Vai alla scheda Impostazioni per accedere alle impostazioni del repository del tuo progetto su GitHub.
SUGGERIMENTO: per i progetti configurati con l'integrazione di 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 con accodamento e Consenti unione con rebase.
Una volta disattivate, le opzioni di unione non saranno disponibili in GitHub quando gli sviluppatori uniscono un ramo nel repository.