Configurazione delle impostazioni di controllo della versione del progetto

Questa pagina descrive come configurare gli elementi del progetto da integrare con Git per il controllo della versione.

Impostazioni progetto

Per modificare le opzioni nella pagina Impostazioni progetto devi essere un amministratore di Looker. Gli sviluppatori di Looker che non sono amministratori possono visualizzare la pagina Impostazioni progetto, ma non possono modificare le opzioni da lì.

La pagina Impostazioni progetto contiene le opzioni di configurazione per il tuo progetto. Per visualizzare questa pagina, apri il progetto e seleziona l'icona Impostazioni dal menu delle icone nell'IDE di Looker.

Da qui puoi accedere a tre sezioni:

Configurazione

Nella scheda Configurazione della pagina Impostazioni 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 del progetto. Per ulteriori dettagli, consulta la pagina della documentazione Accesso e modifica delle informazioni sul progetto.
  • Nome ramo di produzione Git: specifica il nome del ramo Git da utilizzare come destinazione dell'unione per i rami di sviluppo del progetto. Il ramo Git deve esistere nel tuo repository Git. Per saperne di più, consulta la sezione Nome ramo produzione Git in questa pagina.

  • Qualità del codice: determina se richiedere agli sviluppatori di eseguire correttamente lo strumento di convalida LookML sul progetto prima di eseguire qualsiasi modifica al progetto. Qualità del codice offre le seguenti opzioni:

    • Richiedi la correzione di errori e avvisi 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 aver risolto tutti gli errori e gli avvisi. Questa è l'impostazione consigliata.
    • Richiedi la correzione degli errori solo 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 aver risolto tutti gli errori. Gli sviluppatori possono eseguire il commit delle modifiche in presenza di avvisi. Sebbene non sia consigliata, questa opzione può essere utile, ad esempio, se vengono introdotti nuovi avvisi in LookML funzionanti dopo un aggiornamento di Looker.
    • Consenti il commit di codice non funzionante: gli sviluppatori di Looker possono eseguire il commit delle modifiche senza eseguire lo strumento di convalida LookML e indipendentemente dalla presenza di errori o avvisi in LookML. Questa opzione è sconsigliata perché può causare il mancato funzionamento di LookML o 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 delle modifiche. Se i test sui dati vengono superati, l'IDE consentirà allo sviluppatore di eseguire il deployment delle modifiche in produzione. Per informazioni su come configurare i test dei dati nel progetto LookML, consulta la pagina della documentazione relativa al parametro test. Per informazioni sull'esecuzione dei test dei dati nel progetto, consulta la pagina della documentazione Utilizzo del controllo della versione e del deployment. Per impostazione predefinita, l'opzione Richiedi il superamento dei test sui dati prima del deployment di questo progetto in produzione è abilitata per i nuovi progetti LookML.

  • Git Integration (Integrazione Git): specifica i livelli di integrazione con il tuo provider Git. Per informazioni dettagliate, vedi Opzioni di integrazione di Git.

  • Abilita modalità di deployment avanzata: un'impostazione che, se abilitata, consente agli utenti di eseguire il deployment di qualsiasi SHA, tag o ramo in produzione. Per saperne di più 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 secret di deployment webhook.

  • Reimposta connessione Git: questo pulsante apre la finestra Configura Git, in cui puoi aggiornare le impostazioni di connessione per il tuo repository Git.

    La reimpostazione della connessione Git conserverà la cronologia Git per il ramo principale. Verrà inoltre conservata la cronologia del ramo personale di ogni sviluppatore Looker dopo la sincronizzazione della modalità sviluppatore. Per conservare la cronologia per tutti i rami, consulta la pagina delle best practice per la migrazione a un nuovo repository Git.

  • Elimina progetto: questo pulsante elimina il progetto, rimuovendo tutto il LookML dal progetto in tutti gli ambienti di sviluppo e produzione nell'istanza di Looker.

  • Riepilogo Git: questa sezione mostra la configurazione Git del progetto e le informazioni sul ramo Git dell'utente corrente.

Nome ramo produzione Git

Con l'integrazione predefinita del Git di Looker, tutti gli sviluppatori di Looker uniscono le loro modifiche in un ramo chiamato main. Puoi utilizzare il campo Nome ramo di produzione Git per specificare quale ramo del tuo repository Git deve essere utilizzato da Looker 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 Git avanzate.)

Per i progetti esistenti, segui questi passaggi prima di modificare il nome del ramo della produzione Git:

  • Chiedi a tutti gli sviluppatori del progetto Looker di eseguire il commit delle modifiche e di unire i rami nel ramo di produzione esistente, quindi metti in pausa il lavoro finché il nome del ramo di produzione Git non viene aggiornato e salvato nella configurazione del progetto Looker.
  • Se il progetto utilizza richieste di pull integrate, finalizza e unisci tutte le richieste di pull aperte, in base alle necessità.
  • Esegui le eventuali preparazioni necessarie sul lato del provider Git, ad esempio creare un nuovo ramo nel repository, rinominare il ramo Git predefinito esistente o eseguire qualsiasi azione necessaria per preparare il ramo in modo che Looker possa utilizzarlo come ramo di destinazione per l'unione. Devi almeno verificare che il ramo che vuoi utilizzare sia un ramo esistente nel tuo repository Git.

Per modificare il ramo Git utilizzato dal progetto come destinazione di unione per i rami di sviluppo:

  1. Seleziona l'icona Settings (Impostazioni) dal menu icone dell'IDE di Looker per visualizzare la pagina Project Settings (Impostazioni progetto). Per impostazione predefinita si apre la scheda Configurazione.
  2. 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.
  3. 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 maggiori dettagli, consulta la pagina della documentazione Importazione di file da altri progetti .

Gestione rami

Nella scheda Branch Management (Gestione dei rami) della pagina Projects Settings (Impostazioni progetti), puoi visualizzare tutti i rami Git associati al progetto. Per maggiori dettagli, consulta la pagina della documentazione Utilizzo del controllo della versione e del deployment.

Opzioni di integrazione Git

Una volta configurata la connessione Git, Looker utilizzerà il tuo provider Git per la gestione dei 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 della pagina Impostazioni 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. Looker fornirà anche i link per ogni file di progetto in modo che gli sviluppatori possano visualizzare la cronologia del file e le informazioni sui blame Git nell'interfaccia del tuo 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 tuo provider Git, Looker darà 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 tuo progetto.
  • Richieste di pull obbligatorie: equivale a Richieste di pull consigliate, con la differenza che gli sviluppatori LookML devono 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 tuo progetto.

Per salvare le impostazioni di integrazione Git, fai clic su Salva configurazione progetto nella sezione Deployment.

Se hai abilitato una qualsiasi delle opzioni di integrazione Git aggiuntive (Mostra link, Richieste pull consigliate o Richieste pull richieste), 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 disporre di un account presso il tuo provider Git e avere accesso al repository Git del progetto.

Nel menu con tre puntini Opzioni file per ciascuno dei tuoi file LookML, Looker fornisce i link al sito del tuo provider Git per visualizzare il file, visualizzare le informazioni sui blame Git per il file e la cronologia dei commit per il file.

Nel riquadro Azioni Git, puoi anche utilizzare l'opzione Visualizza il progetto su <Git provider> per aprire i file del tuo progetto sul sito del tuo provider Git.

Integrazione delle richieste di pull per il progetto

Con l'integrazione predefinita del Git di Looker, gli sviluppatori di Looker eseguono il commit delle modifiche nel ramo di sviluppo, quindi uniscono il ramo di sviluppo a quello di produzione. Quando esegui il deployment nell'ambiente Looker, Looker utilizza il commit più recente nel 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 Git avanzate.)

Anziché consentire agli sviluppatori di Looker di unire il ramo di sviluppo al ramo di produzione di Looker, puoi configurare il tuo progetto con l'opzione Richieste di pull consigliate o Richieste di pull richieste:

  • Richieste di pull consigliate: dopo che uno sviluppatore esegue il commit delle modifiche nel ramo di sviluppo, il pulsante Git nell'IDE di Looker richiede allo sviluppatore di aprire una richiesta di pull per unire il ramo di sviluppo nel ramo di produzione. Lo sviluppatore può quindi aprire una richiesta di pull che deve essere esaminata e approvata da altri sviluppatori di Looker dall'interfaccia web del provider Git. In alternativa, lo sviluppatore può utilizzare l'opzione Esegui il deployment in produzione dal riquadro Azioni Git per saltare la creazione di una richiesta di pull ed eseguire il deployment delle relative modifiche in produzione. L'opzione Esegui il deployment in produzione non è disponibile se il progetto è abilitato con la modalità di deployment avanzata.
  • Richieste di pull obbligatorie: dopo che uno sviluppatore esegue il commit delle modifiche nel ramo di sviluppo, il pulsante Git nell'IDE di Looker richiede allo sviluppatore di aprire una richiesta di pull. Lo sviluppatore deve aprire una richiesta di pull per unire il ramo di sviluppo a quello di produzione. Successivamente, altri sviluppatori di Looker possono rivedere 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")

Ecco alcune note aggiuntive sull'utilizzo delle richieste di pull con Looker:

  • Per aprire le richieste di pull, gli sviluppatori devono disporre di un account presso il tuo provider Git e avere accesso al repository Git del progetto.

  • Se la funzionalità Lista consentita IP è abilitata nell'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 di GitHub attuali sono elencati nel log delle modifiche GitHub. Gli IP sono soggetti a modifiche e saranno diversi per altri provider Git.

  • Se hai abilitato la modalità di deployment avanzata, non è necessario configurare un webhook nella sezione Configurare il progetto con richieste di pull integrate, poiché questa modalità separa le funzioni di unione e deployment.

  • Se uno sviluppatore di Looker ha inviato una richiesta di pull che vuoi annullare, consulta il post della scheda Community su come annullare le richieste di pull da Looker tramite GitHub per ulteriori informazioni.

  • Le richieste di pull Git consentono di utilizzare un'istanza di gestione temporanea per Looker, in modo da avere un'istanza temporanea e un'istanza di produzione con le richieste di pull abilitate sull'istanza di gestione temporanea. Tutto lo sviluppo e la revisione del codice possono essere eseguiti nell'ambiente di gestione temporanea, dopodiché può essere eseguito il deployment del codice rivisto nell'istanza di produzione. Per configurarlo, consulta il post della scheda Community sul flusso di lavoro Git sull'utilizzo di un repository su più istanze - Sviluppo, gestione temporanea e produzione.

  • Looker unisce le modifiche da un ramo sviluppatore di Looker al ramo di produzione utilizzando il metodo di unione del commit di unione. Quando utilizzi l'interfaccia del tuo provider Git, assicurati che i tuoi sviluppatori non utilizzino l'unione con squashribasare l'unione. Per ulteriori informazioni, vedi la sezione Opzioni di unione nell'interfaccia del provider Git.

Configurazione del progetto con richieste di pull integrate

Per configurare il progetto Looker con le richieste di pull Git:

  1. Dal progetto, seleziona Impostazioni progetto dal menu dell'icona IDE di Looker.
  2. Nella sezione Integrazione Git della scheda Configurazione, seleziona Richieste di pull consigliate o Richieste pull obbligatorie.
  3. Facoltativamente, se vuoi configurare un webhook di deployment automatico sull'interfaccia del tuo provider Git, copia le informazioni sul webhook e incollale in un file di testo. Se il progetto è configurato per utilizzare la modalità di deployment avanzato, puoi saltare questo passaggio. Puoi anche decidere in un secondo momento e tornare alle impostazioni del progetto per ottenere le informazioni sul webhook.
  4. Facoltativamente, 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 del webhook. Copia il secret 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 secret di deployment. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del secret di deployment webhook.
  5. Fai clic su Salva configurazione progetto.

Ora, ogni volta che uno sviluppatore di Looker esegue il commit di modifiche al tuo progetto, l'IDE di Looker mostrerà il pulsante Open Pull Request (Apri richiesta di pull). Il pulsante apre una nuova scheda del browser direttamente nella nuova pagina della richiesta di 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 provider Git per aggiungere un webhook, come descritto nella sezione successiva di questa pagina.
  • Per specificare manualmente per quali rami o commit viene eseguito il deployment, abilita la modalità di deployment avanzata. Per informazioni sull'abilitazione e la gestione della modalità di deployment avanzata, consulta la pagina della documentazione relativa alla modalità di deployment avanzata.

Aggiunta di un webhook al provider Git

Per i progetti Looker abilitati per le richieste di pull, puoi impostare un webhook di deployment nell'interfaccia del tuo provider Git. Questo webhook attiva a Looker il deployment del commit più recente dal ramo di produzione ogni volta che unisci una richiesta di pull sull'interfaccia del provider Git.

Nella maggior parte dei casi, non è consigliabile impostare un webhook di deployment automatico se il progetto è configurato per l'utilizzo della modalità di deployment avanzata. La modalità di deployment avanzata ti consente di selezionare il commit e il ramo di cui eseguire il deployment, quindi nella maggior parte dei casi la configurazione di un webhook di deployment automatico annulla le funzionalità della modalità di deployment avanzata.

Per aggiungere un webhook di deployment automatico nell'interfaccia del tuo provider Git, vai prima alle impostazioni del progetto in Looker facendo clic sull'icona Settings (Impostazioni) nel menu dell'icona dell'IDE di Looker del progetto. Quindi, copia il webhook dalla sezione Integrazione Git.

Il webhook assume il formato <instance_url>/webhooks/projects/<project_name>/deploy.

Sostituisci <instance_url> con l'URL della tua istanza di Looker. Ad esempio, se l'URL dell'istanza di Looker è example.looker.com e il nome del progetto è e_faa, il webhook sarà simile a questo:

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 secret di deployment webhook.

Una volta ottenuti l'URL webhook e il secret del webhook di deployment, puoi inserirli nell'interfaccia del tuo provider Git. Se il tuo provider Git è GitHub, segui questi passaggi:

  1. Vai alle impostazioni del repository del progetto nel tuo repository GitHub.
  2. Nelle impostazioni del repository, fai clic su Webhook. Fai clic su Aggiungi webhook per aprire la finestra Aggiungi webhook.
  3. Nel campo Payload URL (URL payload), incolla le informazioni sul webhook che hai copiato dalla sezione Integrazione Git in Looker.
  4. Facoltativamente, 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 dell'interfaccia del provider Git. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del secret di deployment webhook.
  5. Seleziona l'opzione Solo l'evento push nel campo Quali eventi vuoi attivare questo webhook??
  6. 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 il deployment dei webhook non è automatizzato, a volte potresti notare che il LookML che vedi nella modalità di produzione di Looker non corrisponde al LookML sul ramo principale del tuo repository Git. Ciò può verificarsi nelle seguenti situazioni:

  • Quando sono abilitate le richieste di pull per il repository
  • Quando il codice LookML è stato modificato al di fuori dell'ambiente di sviluppo di Looker, ad esempio:
    • Nel repository Git
    • Su un'altra istanza di Looker, ad esempio un'istanza temporanea

Puoi sincronizzare il ramo di produzione di Looker con il ramo principale del repository utilizzando un webhook di deployment:

  1. 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
    
  2. Dopo aver eseguito l'URL webhook di deployment, una pagina web vuota visualizzerà 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 Git remoto. Il tuo ramo sviluppatore personale e i rami condivisi non sono interessati.

Pull da un repository Git remoto per i webhook con secret di deployment

Se il tuo progetto LookML richiede anche un secret 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, Utilizzo di 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 tuo terminale con il secret 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 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 devi sincronizzare un ramo di produzione per ecommerce_project sull'istanza Brettcase con il ramo 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 provider Git

Se il tuo progetto Looker è integrato con le richieste di pull, i tuoi sviluppatori utilizzano l'interfaccia del tuo provider Git per inviare richieste di pull e unire le modifiche nel ramo di produzione.

Looker supporta il metodo di commissione di unione per unire le modifiche da un ramo di sviluppo a quello di produzione. Tuttavia, l'interfaccia del tuo provider Git potrebbe mostrare opzioni aggiuntive per l'unione, come Squash e unione o Rebase e unione.

Looker non supporta l'unione con squash o ribasa l'unione, quindi gli sviluppatori dovrebbero evitare di utilizzare queste opzioni. Se possibile, la best practice è disabilitare queste opzioni per il repository. Per disabilitare queste opzioni in un repository GitHub, segui questi passaggi:

  1. Vai alla scheda Impostazioni per accedere alle impostazioni del repository del tuo 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.

  2. Nelle impostazioni del repository, fai clic su Opzioni nel menu di navigazione.

  3. Vai alla sezione Pulsante Unisci e lascia selezionata solo l'opzione Consenti i commit di unione. Disattiva le opzioni Consenti l'unione con squash e Consenti ribase dell'unione.

Una volta disabilitate, le opzioni di unione non saranno disponibili in GitHub quando gli sviluppatori uniscono un ramo nel repository.