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 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 consente di aprire 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 sul progetto.
  • 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 ramo 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 richiedere agli sviluppatori di eseguire correttamente lo strumento di convalida LookML sul progetto prima di eseguire qualsiasi modifica al progetto. Qualità 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. 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 di 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 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 è 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. Consulta la pagina di documentazione del parametro test per informazioni sulla configurazione dei test dei dati nel tuo progetto LookML. 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, 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 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. Inoltre, preserverà la cronologia del ramo personale di ogni sviluppatore di Looker una volta sincronizzata la modalità di sviluppo. 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 codice LookML dal progetto in tutti gli ambienti di sviluppo e di 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 predefinita del Git di Looker, tutti gli sviluppatori di Looker uniscono le loro modifiche in un ramo principale chiamato master. Puoi utilizzare il campo Nome 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, segui questi passaggi 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 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 tuo progetto utilizza le pull request integrate, completa e unisci le eventuali pull request aperte, a seconda dei casi.
  • 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. 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. Seleziona l'icona Settings (Impostazioni) dal menu delle icone nell'IDE di Looker per visualizzare le impostazioni del progetto. Per impostazione predefinita si apre la scheda Configurazione.
  2. Nel campo Nome del ramo di produzione Git, inserisci il nome del ramo Git che vuoi utilizzare come ramo di produzione per il progetto Looker.
  3. Fai clic sul pulsante Salva configurazione progetto per salvare la modifica.

Importa credenziali

La sezione Importa credenziali è dove puoi gestire le credenziali di autenticazione per i repository remoti privati. Consulta la sezione sull'importazione di file da altri progetti per maggiori dettagli.

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 informazioni dettagliate, consulta la pagina della documentazione Utilizzo del controllo versione e del deployment.

Opzioni di integrazione di 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 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 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 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.

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 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 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. 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 avanzate di Git).

Invece di 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:

  • 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 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 è 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 chiede 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 è 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 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 inviato 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 ulteriori informazioni.

  • 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. 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 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 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, 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:

  1. Dal progetto, seleziona Impostazioni dal menu dell'icona IDE di Looker.
  2. Nella sezione Integrazione Git della scheda Configurazione, seleziona Pull request consigliate o Pull request 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 recuperare le informazioni sull'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 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 segreto di deployment del webhook.
  5. 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 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 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 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 tuo 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 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 il webhook dalla sezione Integrazione Git.

Il webhook assume 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 secret di deployment 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:

  1. Vai alle impostazioni del repository del progetto nel 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 del payload), incolla le informazioni sull'webhook che hai copiato dalla sezione Integrazione Git in Looker.
  4. 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 dell'interfaccia del provider Git. Per ulteriori informazioni, consulta la pagina della documentazione Configurazione del segreto di deployment del webhook.
  5. Seleziona l'opzione Solo l'evento push nel campo Quali eventi vuoi attivare con 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 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:

  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 progetto LookML:

    <instance_url>/webhooks/projects/<project name>/deploy
    
  2. Dopo aver eseguito l'URL webhook di deployment, in una pagina web vuota verrà 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.

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

Se il tuo progetto LookML richiede anche un token di accesso per il 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 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 fornitore 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 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 con squash o ribasa l'unione, quindi gli sviluppatori dovrebbero evitare di utilizzare queste opzioni. Se possibile, la best practice è disattivare queste opzioni per il tuo 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 di 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 dello squash e Consenti ribase dell'unione.

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