Configurazione delle impostazioni di controllo della versione del progetto

In questa pagina viene descritto come configurare gli elementi del tuo progetto in modo che vengano integrati in Git per il controllo delle versioni.

Impostazioni progetto

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

La pagina Impostazioni progetto contiene le opzioni di configurazione per il tuo progetto. Per vedere questa pagina, apri il progetto e seleziona l'icona Impostazioni dal menu dell'icona a sinistra:

Da qui puoi accedere a tre sezioni:

Configurazione

Nella scheda Configurazione della pagina Impostazioni progetti, puoi configurare le seguenti impostazioni:

  • Nome: il nome del progetto. Per rinominare il progetto, modifica il testo e fai clic sul pulsante Salva configurazione progetto. Per ulteriori dettagli, consulta la pagina Consultazione e modifica delle informazioni sui progetti.
  • Nome ramo Production Git: specifica il nome del ramo Git da utilizzare come target di unione per i rami di sviluppo per il tuo progetto. Il ramo Git deve esistere nel repository Git. Per ulteriori informazioni, consulta la sezione Nome ramo di 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 il commit delle modifiche. 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.
    • È necessario correggere gli 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 quando esistono avvisi. Sebbene sia sconsigliata, questa opzione può essere utile, ad esempio, se vengono introdotti nuovi avvisi sul 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 lo strumento di convalida LookML, indipendentemente dal fatto che esistano errori o avvisi nel LookML. Questa opzione non è consigliata perché può causare un LookML che non funziona o che produce risultati errati.

  • Richiedi il test dei dati da superare prima del deployment di questo progetto in produzione: richiede agli sviluppatori di eseguire test dei dati prima di eseguire il deployment di qualsiasi modifica. Se i test di dati hanno esito positivo, l'IDE consentirà allo sviluppatore di eseguire il deployment delle modifiche in produzione. Consulta la pagina della documentazione relativa al parametro test per informazioni sulla configurazione dei test dei dati nel tuo progetto LookML. Per informazioni sull'esecuzione dei test dei dati nel tuo progetto, consulta la pagina Utilizzo del controllo della versione e del deployment della documentazione.

  • Git Integration: specifica i livelli di integrazione con il provider Git. Per maggiori dettagli, vedi Opzioni di integrazione di Git.

  • Abilita modalità di deployment avanzato: 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 avanzato, consulta la pagina della documentazione relativa alla modalità di deployment avanzato.

  • Webhook Deploy Secret: configura l'autenticazione per il deployment delle modifiche in produzione sull'istanza di Looker. Per maggiori dettagli, consulta la pagina della documentazione relativa alla configurazione del secret di deployment del webhook.

  • Reimposta Git 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 consentirà di conservare la cronologia Git per il ramo master. Inoltre, la cronologia del ramo personale di ogni sviluppatore Looker verrà conservata dopo la sincronizzazione della modalità sviluppatore. Per conservare la cronologia di tutti i rami, consulta l'articolo del Centro assistenza Migrazione a un nuovo repository Git.

  • Delete Project (Elimina progetto): questo pulsante elimina il progetto e rimuove 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 ramo production Git

Con l'integrazione predefinita di Looker Git, tutti gli sviluppatori di Looker uniscono le modifiche a un ramo chiamato master. Puoi utilizzare il campo Git Production Branch Name (Nome ramo Production Git) per specificare quale ramo dal tuo repository Git deve essere utilizzato come ramo target in cui vengono uniti i rami degli sviluppatori Looker. 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 i progetti esistenti, valuta la possibilità di eseguire le seguenti operazioni prima di modificare il nome del ramo production:

  • Chiedi a tutti gli sviluppatori del progetto Looker di eseguire il commit delle loro modifiche e di unire i rami al ramo production esistente, quindi metti in pausa il loro lavoro fino a quando il nome del ramo production Git viene aggiornato e salvato nella configurazione del progetto Looker.
  • Se il tuo progetto utilizza richieste di pull integrate, finalizza e unisci tutte le richieste di pull aperte, a seconda dei casi.
  • Esegui le eventuali operazioni necessarie sul lato del provider Git, ad esempio crea un nuovo ramo nel tuo repository, rinomina il ramo Git predefinito o qualsiasi azione necessaria per preparare il ramo in modo che Looker possa utilizzarlo come ramo target per l'unione. Come minimo devi 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. Vai alla scheda Configurazione della pagina Impostazioni progetto facendo clic sull'icona Impostazioni nel menu a sinistra dell'icona.
  2. Nel campo Git Production Branch Name (Nome del ramo Production Git), inserisci il nome del ramo Git che vuoi utilizzare come ramo production per il tuo progetto Looker.
  3. Scorri verso il basso e 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 privati da remoto. Per maggiori dettagli, consulta la pagina della documentazione relativa all'importazione di file da altri progetti.

Gestione filiali

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

Opzioni di integrazione Git

Dopo aver configurato la connessione Git, Looker utilizzerà il tuo provider Git per gestire i tuoi file di origine LookML, come descritto nella pagina della documentazione relativa all'utilizzo del controllo della versione e del deployment.

Se sei un amministratore di Looker, puoi configurare altre opzioni di integrazione di Looker con Git utilizzando le opzioni di Git Integration nella scheda Configuration (Configurazione) della pagina Project Settings (Impostazioni progetto):

GitHub richiede un token di accesso personale per eseguire le operazioni di integrazione Git. Se il tuo progetto non utilizza un token di accesso personale, crea un token di accesso personale in GitHub, quindi reimposta la connessione Git utilizzando il token di accesso personale.

  • Off: Looker non mostrerà alcun link esterno all'interfaccia del provider Git. Questa è l'opzione obbligatoria se il tuo repository Git è ospitato da Looker.
<aside class="deprecated">
Looker-hosted Git repositories are deprecated. See the [Migrating to a new Git repository](https://help.looker.com/hc/en-us/articles/360001310847-Migrating-to-a-New-Git-Repository) Help Center article for instructions on moving your project to a new Git repository.
To check if your Git repository is Looker-hosted, scroll to the bottom of the **Branch Management** tab of the **Project Settings** page to see the **Remote Origin URL**. Looker-hosted repos have a URL starting with `git@github.com:llooker`.
</aside>
  • Show Links (Mostra link): Looker fornirà link esterni all'interfaccia del provider Git in modo che gli sviluppatori possano visualizzare il progetto nell'interfaccia del provider Git. Looker fornirà anche link per ogni file di progetto in modo che i tuoi sviluppatori possano visualizzare la cronologia del file e le informazioni sull'attribuzione blame di Git sull'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 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 di questa configurazione, consulta la sezione sull'integrazione delle richieste di pull per il tuo progetto.
  • Richieste di pull richieste: è la stessa di cui sopra, 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 di questa configurazione, consulta la sezione sull'integrazione delle richieste di pull per il tuo progetto.

Per salvare le impostazioni di integrazione di Git, scorri verso il basso e fai clic su Save Configuration Configuration (Salva configurazione progetto) nella sezione Deployment.

Se hai abilitato una qualsiasi delle opzioni di integrazione Git aggiuntive (Show Links, Pull Request Recommended o Pull RequestRequired, richieste di pull che forniscono link esterni all'interfaccia del tuo provider Git. Questi link esterni aprono una nuova scheda del browser con il sito del provider Git.

Per visualizzare questi link esterni, i tuoi sviluppatori devono avere un account con il tuo provider Git e devono avere accesso al repository Git del progetto.

Nel menu con tre puntini per ognuno dei tuoi file LookML, Looker fornisce link al sito del tuo provider Git per visualizzare il file, le informazioni di attribuzione della situazione Git per il file e la cronologia dei commit per il file.

Nel riquadro Git Actions, Looker fornisce un link ai file di progetto sul sito del tuo provider Git:

Integrazione delle richieste di pull per il tuo progetto

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.

Invece di consentire agli sviluppatori di Looker di unire il loro ramo di sviluppo nel ramo production di Looker, puoi configurare il progetto con l'opzione Pull Request Recommended (Pull Request Recommended) o Pull Request Need (Richieste di pull richieste):

  • Richieste di pull consigliate: dopo che uno sviluppatore ha eseguito il commit delle modifiche al ramo di sviluppo, il pulsante Git nell'IDE di Looker chiede allo sviluppatore di aprire una richiesta di pull per unire il ramo di sviluppo nel ramo production. Lo sviluppatore potrà quindi aprire una richiesta di pull per altri sviluppatori Looker per esaminarla e approvarla 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 e implementare le modifiche in produzione. L'opzione Deploy to Production non è disponibile se il progetto è abilitato per la modalità di deployment avanzato.
  • Richieste di pull richieste: dopo che uno sviluppatore ha eseguito il commit delle modifiche al ramo di sviluppo, il pulsante Git nell'IDE di Looker chiede allo sviluppatore di aprire una richiesta di pull. Lo sviluppatore deve aprire una richiesta di pull per unire il ramo di sviluppo nel ramo production. Dopodiché, altri sviluppatori Looker possono 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
  • Cloud bucket Bitbucket
  • Bitbucket Server (in precedenza "Stash")

Di seguito sono riportate alcune note aggiuntive sull'utilizzo delle richieste di pull con Looker:

  • Se la funzionalità Lista consentita IP è abilitata sulla tua istanza, per integrare le richieste di pull con qualsiasi progetto LookML devi 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 log delle modifiche di GitHub. Gli IP sono soggetti a modifica e saranno diversi per altri provider Git.

  • Se hai abilitato la modalità di deployment avanzato, non è necessario configurare un webhook nella sezione Configurazione del progetto con richieste di pull integrate, dato che la modalità di deployment avanzato separa le funzioni di unione e di deployment.

  • Se uno sviluppatore Looker ha inviato una richiesta di pull che vuoi annullare, consulta questo argomento della community per avere informazioni sul ripristino di una richiesta di pull.

  • Le richieste di pull Git possono utilizzare un'istanza di gestione temporanea per Looker, così puoi avere un'istanza di gestione 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, quindi il codice esaminato può essere implementato nell'istanza di produzione come preferisci. Per eseguire la configurazione, consulta l'articolo del Centro assistenza Git Workflow Usare un repository in più istanze: sviluppo, gestione temporanea e produzione.

  • Looker unisce le modifiche di un ramo sviluppatore di Looker al ramo production utilizzando il metodo di unione merge commit. Quando utilizzi l'interfaccia del provider Git, assicurati che gli sviluppatori non utilizzino l'unione di squash, né l'unione di base. Per ulteriori informazioni, consulta 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 a sinistra.
  2. Nella sezione Integrazione Git della scheda Configurazione, seleziona Richieste di pull consigliate o Richieste di pull richieste.
  3. Se vuoi, configura un webhook di deployment automatico nell'interfaccia del 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 di 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 ideale per il webhook in modalità di deployment avanzato. Per creare un secret webhook, fai clic su Imposta webhook webhook. Copia il secret del deployment e incollalo in un file di testo da utilizzare quando aggiungi il webhook all'interfaccia del provider Git. Puoi anche decidere in un secondo momento di tornare alle impostazioni del progetto per aggiungere un secret di deployment. Per ulteriori informazioni, consulta la pagina della documentazione relativa alla configurazione del secret di deployment del webhook.
  5. Fai clic su Salva configurazione progetto.

Ogni volta che uno sviluppatore Looker esegue il commit delle 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 alla nuova pagina di richiesta di pull sul sito web del tuo provider Git:

Dopo aver configurato il progetto Looker in modo che utilizzi le richieste di pull, esegui una delle seguenti operazioni per configurare la modalità di deployment dei commit nel tuo ambiente di produzione:

  • Per eseguire automaticamente il deployment degli ultimi commit che sono stati uniti al ramo production, utilizza l'interfaccia del provider Git per aggiungere un webhook, come descritto nella sezione successiva di questa pagina.
  • Per specificare manualmente i rami o i commit di cui è stato eseguito il deployment, abilita la modalità di deployment avanzato. Consulta la pagina della documentazione sulla modalità di deployment avanzato per informazioni sull'attivazione e sulla gestione della modalità di deployment avanzato.

Aggiunta di un webhook al provider Git

Per i progetti Looker abilitati per le richieste di pull, puoi configurare un webhook di deployment nell'interfaccia del provider Git. Questo webhook farà sì che Looker esegua il deployment dell'ultimo commit dal ramo production ogni volta che unisci una richiesta di pull nell'interfaccia del provider Git.

Nella maggior parte dei casi, non vuoi configurare un webhook di deployment automatico se il progetto è configurato per utilizzare la modalità di deployment avanzato. La modalità di deployment avanzato ti consente di selezionare il ramo e il ramo di cui vuoi eseguire il deployment, quindi nella maggior parte dei casi la configurazione di un webhook di deployment automatico invaliderebbe le funzionalità della modalità di deployment avanzato.

Per aggiungere un webhook di deployment automatico sull'interfaccia del provider Git, vai alle impostazioni del progetto in Looker e copia il webhook dalla sezione Git Integration (Integrazione Git):

In questo esempio, le informazioni sul webhook sono <host_url>/webhooks/projects/e_faa/deploy

Sostituisci <host_url> con l'URL della tua istanza di Looker. Ad esempio:

https://docsexamples.dev.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 relativa alla configurazione del secret di deployment del webhook.

Una volta ottenuto l'URL webhook e il secret webhook di deployment, puoi inserirli nell'interfaccia del provider Git. Ecco un esempio di utilizzo di GitHub come provider Git:

  1. Vai alle impostazioni del repository del progetto sul sito web del provider Git.
  2. Nelle impostazioni del repository, fai clic su Webhook. Fai clic su Aggiungi webhook per aprire la finestra Aggiungi webhook.
  3. Nella casella di testo Payload URL (URL payload), incolla le informazioni sul webhook che hai copiato dalla sezione Git Integration (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 del deployment dalle impostazioni del progetto LookML e incolla il secret nella casella di testo Secret nell'interfaccia del provider Git. Per ulteriori informazioni, consulta la pagina della documentazione relativa alla configurazione del secret di deployment del webhook.
  5. Seleziona l'opzione per Solo l'evento push.
  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 nel ramo master del tuo repository Git. Questo può verificarsi nelle seguenti situazioni:

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

Puoi sincronizzare il ramo di produzione di Looker con il ramo master 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 della tua istanza di Looker e <project_name> con il nome del tuo progetto LookML: none <instance_url>/webhooks/projects/<project name>/deploy
  2. Dopo aver eseguito l'URL webhook di deployment, una pagina web vuota mostrerà un messaggio di operazione riuscita simile al seguente: none {"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 per riflettere il ramo master remoto di Git. Il ramo sviluppatore personale e i rami condivisi non sono interessati.

Estrazione da un repository Git remoto per i webhook con deployment dei secret

Se il tuo progetto LookML richiede anche un secret di deployment webhook per il push delle modifiche dal ramo master al ramo production, viene visualizzato uno dei seguenti errori quando sincronizzi il ramo production con il ramo master 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 comando cURL seguente nel terminale con il webhook secret. 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 sincronizzassi un ramo production per project_ecommerce sull'istanza Brettcase con il ramo master 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 le richieste di pull e unire le modifiche nel ramo production.

Looker supporta il metodo del merge commit per unire le modifiche da un ramo di sviluppo al ramo production. Tuttavia, l'interfaccia del provider Git potrebbe mostrare ulteriori opzioni per l'unione:

Poiché Looker non supporta l'unione di squash o l'unione di base, i tuoi sviluppatori dovrebbero evitare di utilizzare queste opzioni. Se possibile, la best practice prevede la disattivazione delle opzioni per il repository. L'esempio seguente mostra la disattivazione di queste opzioni in un repository GitHub:

  1. Vai alle impostazioni del repository del progetto sul sito web del provider Git.

    SUGGERIMENTO: per i progetti configurati con l'integrazione Git, puoi utilizzare l'opzione Visualizza progetto su Git nel menu Git del progetto in Looker.

  2. Nelle impostazioni del repository, fai clic su Opzioni.

  3. Scorri verso il basso fino alla sezione Pulsante di unione e lascia selezionata l'opzione Consenti commit di unione. Deseleziona le opzioni Consenti unione di squash e Consenti unione di base.

Una volta deselezionate queste opzioni, non saranno disponibili quando si unisce un ramo nel repository: