Utilizzo del controllo della versione e del deployment

Looker utilizza Git per registrare le modifiche e gestire le versioni dei file. Ogni progetto LookML corrisponde a un repository Git e ogni ramo di sviluppo è correlato a un ramo Git.

Looker può essere configurato per funzionare con molti provider Git, come GitHub, GitLab e Bitbucket. Per informazioni sulla configurazione di Git per il tuo progetto Looker, consulta la pagina della documentazione Configurazione e test di una connessione Git.

Utilizzo dei rami Git

Uno dei principali vantaggi di Git è che uno sviluppatore Looker può lavorare in un branch, una versione isolata di un repository di file. Puoi sviluppare e testare senza influire sugli altri utenti. In qualità di sviluppatore in Looker, utilizzi un ramo Git ogni volta che ti trovi in modalità di sviluppo.

Un'altra funzionalità importante di Git è la facilità di collaborazione con altri sviluppatori. Puoi creare un ramo e (se vuoi) apportare modifiche, quindi altri sviluppatori possono passare a quel ramo per rivederlo o apportarvi modifiche. Se un altro sviluppatore ha eseguito il commit delle modifiche al ramo, Looker mostra il pulsante Pull Remote Changes (Estrai modifiche remote). Devi eseguire il pull delle modifiche di cui è stato eseguito il commit nel branch prima di apportare ulteriori modifiche.

Puoi anche eliminare un ramo diverso dal ramo principale, dal ramo corrente o dal ramo personale di uno sviluppatore.

Branch personali

Per migliorare le prestazioni, la prima volta che apri un progetto LookML in modalità di sviluppo, l'IDE di Looker mostra la versione del progetto in modalità di produzione, insieme al pulsante Crea copia sviluppatore. Dopo aver fatto clic sul pulsante Crea copia sviluppatore per il progetto, Looker crea un clone locale del repository Git del progetto, crea il tuo ramo Git personale e carica il progetto LookML in modalità di sviluppo.

Il tuo ramo personale inizia con dev- e include il tuo nome.

Branch personale dello sviluppatore

Il tuo ramo personale è specifico per te e non può essere eliminato. Il tuo ramo personale è di sola lettura per tutti gli altri sviluppatori. Se collabori con altri sviluppatori a un progetto, ti consigliamo di creare un nuovo ramo in modo che anche gli altri possano passare a quel ramo e contribuire con le modifiche.

Creazione di un nuovo branch Git

Se stai lavorando a una piccola correzione e non collabori con altri sviluppatori, il tuo ramo personale è in genere un buon punto di partenza. Puoi utilizzare il tuo ramo personale per apportare aggiornamenti rapidi, quindi eseguire il commit delle modifiche e inviarle alla produzione.

Tuttavia, potresti anche voler creare nuovi rami Git oltre al tuo ramo personale. Una nuova filiale Git è utile in queste situazioni:

  • Collabori con altri sviluppatori. Poiché il tuo ramo personale è di sola lettura per gli altri sviluppatori, se vuoi collaborare con altri, devi creare un nuovo ramo Git in modo che gli altri sviluppatori possano scriverci. Quando collabori con altre persone, assicurati di recuperare le modifiche ogni volta che riprendi il lavoro. In questo modo, avrai gli ultimi aggiornamenti di tutti gli sviluppatori prima di continuare a lavorare.
  • Stai lavorando su più set di funzionalità contemporaneamente. A volte potresti essere nel bel mezzo di un progetto importante, ma vuoi risolvere un problema minore o apportare una correzione rapida. In questo caso, puoi eseguire il commit delle modifiche al ramo su cui ti trovi e poi creare o passare a un altro ramo per lavorare su un insieme separato di funzionalità. Puoi apportare la correzione nel nuovo ramo e poi eseguire il deployment delle modifiche di questo ramo in produzione prima di riprendere il lavoro nel ramo originale.

Prima di creare un nuovo ramo:

  • Se si verifica un conflitto di unione nel ramo corrente, devi risolverlo prima di poter creare un nuovo ramo.
  • Se hai modifiche di cui non è stato eseguito il commit nel ramo corrente, devi eseguire il commit delle modifiche nel ramo corrente prima di creare un nuovo ramo.
  • Se vuoi creare un ramo a partire da un ramo di sviluppo esistente (e non dal ramo di produzione), recupera prima l'ultima versione del ramo di sviluppo passando a quel ramo di sviluppo, quindi recupera le modifiche remote per sincronizzare la versione locale del ramo.

Per creare un nuovo branch Git:

Menu Sviluppo con un progetto LookML selezionato

  1. Verifica di aver attivato la modalità sviluppatore.
  2. Vai ai file di progetto nel menu Sviluppo.

    Riquadro Azioni Git

  3. Seleziona l'icona Git nel menu delle icone a sinistra per aprire il riquadro Azioni Git.

  4. Seleziona il menu a discesa Visualizza filiali.

  5. Seleziona Nuova filiale.

    Finestra di dialogo Nuovo branch

  6. Nella finestra Nuova filiale, inserisci un nome per la filiale. Tieni presente che esistono limitazioni per i nomi dei rami Git. Per i requisiti di denominazione, consulta Regole per la denominazione di un ramo Git in questa pagina.

  7. Seleziona il menu a discesa Crea da e seleziona un ramo esistente da utilizzare come punto di partenza per il nuovo ramo.

  8. Seleziona Crea per creare il ramo.

In alternativa, puoi creare rami Git dalla scheda Gestione rami delle impostazioni del progetto.

Regole per la denominazione di un ramo Git

Looker utilizza i requisiti della convenzione di denominazione dei rami specificati da Git.

I nomi dei branch Git non devono:

  • Contenere un carattere di spazio
  • Contiene un doppio punto: ..
  • Contiene una barra rovesciata: \
  • Contiene la sequenza: @{
  • Contenere un punto interrogativo: ?
  • Contenere una parentesi quadra aperta: [
  • Contenere un carattere di controllo ASCII: ~ o \^ o :
  • Inizia con un punto: .
  • Inizia con il prefisso: dev- (riservato ai rami personali degli sviluppatori di Looker)
  • Termina con una barra: /
  • Termina con l'estensione: .lock

Inoltre, il nome del ramo può contenere un asterisco (*) solo se questo rappresenta un intero componente del percorso (ad esempio foo/* o bar/*/baz), nel qual caso viene interpretato come carattere jolly e non come parte del nome effettivo del ramo.

Passaggio a un altro ramo Git

Per passare a un altro ramo Git:

Menu a discesa del ramo Git

  1. Nel progetto, vai al pannello Azioni Git selezionando l'icona Git nel menu delle icone a sinistra.
  2. Nel riquadro Azioni Git, seleziona il menu a discesa del ramo Git a destra del nome del ramo Git corrente.
  3. Seleziona il ramo a cui vuoi passare selezionandolo nel menu o digitando il nome del ramo nella casella di ricerca. La ricerca del nome del branch non distingue tra maiuscole e minuscole. Ad esempio, puoi cercare "DEV" e visualizzare tutti i rami con nomi che includono "dev", "DEV" e "Dev".

Gestione dei branch Git

La scheda Gestione dei rami delle impostazioni progetto mostra una tabella di tutti i rami Git per il progetto Looker. Per aprire la scheda Gestione filiali, vai prima alle impostazioni progetto selezionando l'icona Impostazioni dal menu delle icone a sinistra. Quindi, seleziona la scheda Gestione filiali.

Scheda Gestione branch

Nella scheda Gestione filiali puoi:

  1. Crea un nuovo ramo selezionando il pulsante Nuovo ramo. Per saperne di più, consulta la sezione Creare un nuovo ramo Git in questa pagina.
  2. Cerca i nomi dei branch nella barra di ricerca.
  3. Aggiorna la tabella selezionando il pulsante Aggiorna.
  4. Ordina la tabella selezionando il nome di una colonna.

La tabella include le seguenti informazioni:

  • Nome: il nome del ramo Git. I rami personali degli sviluppatori di Looker iniziano con dev- e includono il nome e il cognome dello sviluppatore.
  • Stato: la differenza tra la versione locale del ramo e la versione remota del ramo. Ad esempio, uno stato 3 commits behind significa che la tua versione locale del ramo è indietro di tre commit rispetto alla versione remota. Poiché Looker utilizza sempre la versione remota del ramo principale, la scheda Gestione rami non mostra lo stato della versione locale del ramo principale. Il ramo principale può sempre essere considerato aggiornato.
  • Ultimo aggiornamento: la quantità di tempo trascorsa da quando uno sviluppatore Looker ha eseguito un commit nel ramo.
  • Azioni: un pulsante per eliminare la filiale o il motivo per cui la filiale non è idonea all'eliminazione.

Eliminazione dei branch Git

Nella scheda Gestione filiali, puoi eliminare le filiali che hanno un pulsante Elimina nella tabella. Non puoi eliminare i seguenti rami:

  • Il ramo principale
  • Il tuo ramo attuale
  • Il branch personale di uno sviluppatore Looker

Nella tabella, questi rami non hanno un pulsante Elimina. La colonna Azione della tabella mostra invece il motivo per cui il ramo non può essere eliminato.

Per eliminare uno o più rami Git dal progetto, vai innanzitutto alle impostazioni del progetto selezionando l'icona Impostazioni dal menu delle icone a sinistra. Poi seleziona la scheda Gestione filiali. Nella scheda Gestione filiali, puoi eliminare le filiali in due modi:

Opzioni di eliminazione della scheda Gestione filiali

  1. Elimina più filiali selezionando prima le caselle di controllo delle filiali e poi Elimina filiali selezionate.
  2. Elimina un singolo ramo selezionando Elimina accanto al nome del ramo.

Esecuzione di comandi Git in Looker

Looker dispone di un'interfaccia integrata che si integra con il tuo servizio Git. Looker mostra il pulsante Git nell'angolo in alto a destra dell'IDE LookML.

Pulsante Git nell'IDE di Looker

Il pulsante Git mostra opzioni diverse a seconda della fase del processo di modifica e deployment in produzione. In generale, l'opzione mostrata sul pulsante è la guida migliore per la tua prossima azione.

Se il ramo dello sviluppatore è sincronizzato con il ramo di produzione, il pulsante Git mostra il messaggio Aggiornato e non è selezionabile.

Pulsante Git che mostra lo stato Aggiornato

Una volta configurato il progetto per Git, puoi selezionare il pulsante Azioni Git per aprire il riquadro Azioni Git.

Riquadro Azioni Git nell'IDE di Looker

I comandi disponibili nel pannello Azioni Git dipendono dalla fase del processo di modifica e deployment in produzione.

Portare le modifiche in produzione

Con l'integrazione Git predefinita di Looker, Looker guida gli sviluppatori attraverso il seguente flusso di lavoro Git:

Ciò significa che, con l'integrazione Git predefinita, tutti gli sviluppatori uniscono le modifiche in un branch denominato master e l'ultimo commit nel branch master viene utilizzato per l'ambiente di produzione di Looker.

Per implementazioni Git avanzate, puoi personalizzare questo flusso di lavoro:

Visualizzazione delle modifiche di cui non è stato eseguito il commit

L'IDE LookML presenta diversi indicatori che vengono visualizzati quando sei in modalità di sviluppo e hai modifiche non commit, come descritto nella sezione Contrassegnare aggiunte, modifiche ed eliminazioni della pagina di documentazione Panoramica dell'IDE Looker.

Puoi ottenere un riepilogo delle differenze per tutti i file selezionando l'opzione Visualizza modifiche di cui non è stato eseguito il commit nel riquadro Azioni Git.

Visualizza modifiche di cui non è stato eseguito il commit

Nella finestra Modifiche non commit al progetto, Looker mostra un riepilogo di tutte le modifiche salvate e non commit in tutti i file del progetto. Per ogni modifica, Looker mostra quanto segue:

  • Il nome del file sostituito e il nome del file aggiunto.
    • Il nome del file sostituito (indicato con ---) e il nome del file aggiunto (indicato con +++). In molti casi, potrebbero essere visualizzate versioni diverse dello stesso file, con revisioni identificate da --- a/ e +++ b/.
    • I file eliminati vengono visualizzati come sostituzione di un file nullo (+++ /dev/null).
    • I file aggiunti vengono visualizzati come sostituzione di un file nullo (--- /dev/null).
  • Il numero di riga in cui inizia la modifica.

    Ad esempio, -101,4 +101,4 indica che alla 101ª riga del file sono state rimosse 4 righe e ne sono state aggiunte 4. Un file eliminato con 20 righe mostrerà -1,20 +0,0 per indicare che, alla prima riga del file, sono state rimosse 20 righe e sostituite da zero righe.
  • Il testo aggiornato:
    • Le righe eliminate vengono visualizzate in rosso.
    • Le linee aggiunte vengono visualizzate in verde.

Per visualizzare un riepilogo delle differenze per un singolo file, seleziona l'opzione Visualizza modifiche dal menu del file.

Opzione Visualizza modifiche nel menu di un file

Eseguire il commit delle modifiche

Dopo aver apportato e salvato le modifiche al progetto LookML, l'IDE potrebbe richiederti di convalidare il codice LookML. In questo scenario, il pulsante Git mostra il testo Convalida LookML.

Pulsante Git che mostra l'opzione Convalida LookML

L'obbligatorietà dipende dall'impostazione del progetto per la qualità del codice. Per ulteriori informazioni sullo strumento di convalida dei contenuti, consulta la pagina della documentazione Convalida di LookML.

Se un altro sviluppatore ha apportato modifiche al ramo di produzione dall'ultimo aggiornamento del ramo locale, Looker richiede di estrarre questi aggiornamenti dal ramo di produzione. In questo scenario, il pulsante Git mostra il testo Pull from Production.

Pulsante Git che mostra l'opzione Esegui il pull dalla produzione

Dopo aver salvato le modifiche (e corretto eventuali avvisi o errori LookML, se necessario) ed eseguito il pull dalla produzione (se necessario), il pulsante Git mostra il testo Esegui il push e il commit delle modifiche.

Pulsante Git che mostra l'opzione Commit Changes & Push (Esegui commit delle modifiche e push)

Puoi prima rivedere le modifiche non eseguite prima di eseguirle.

Quando è tutto pronto per eseguire il commit delle modifiche, utilizza il pulsante Git per eseguire il commit delle modifiche nel ramo corrente. Looker mostra la finestra di dialogo Commit, che elenca i file aggiunti, modificati o eliminati.

Finestra di dialogo di commit che mostra i file aggiornati

Inserisci un messaggio che descriva brevemente le modifiche e deseleziona le caselle di controllo accanto ai file che non vuoi includere nella sincronizzazione. Poi seleziona Esegui commit per eseguire il commit delle modifiche.

Controllo delle PDT non create

Se hai apportato modifiche a qualsiasi PDT nel tuo progetto, è ottimale che tutte le PDT vengano create quando esegui il deployment in produzione, in modo che le tabelle possano essere utilizzate immediatamente come versioni di produzione. Per controllare lo stato delle PDT nel progetto, seleziona l'icona Integrità del progetto per aprire il riquadro Integrità del progetto, quindi seleziona il pulsante Convalida stato PDT.

Pulsante Convalida stato PDT

Per ulteriori informazioni sul controllo delle PDT non create nel progetto LookML e sull'utilizzo delle tabelle derivate in modalità di sviluppo, consulta la pagina della documentazione Tabelle derivate in Looker.

Esecuzione dei test sui dati in corso…

Il tuo progetto può includere uno o più parametri test che definiscono i test sui dati per verificare la logica del tuo modello LookML. Per informazioni sulla configurazione dei test dei dati nel tuo progetto, consulta la pagina della documentazione relativa al parametro test.

Se il tuo progetto contiene test dei dati e ti trovi in modalità Development (Sviluppo), puoi avviare i test dei dati del progetto in diversi modi:

Diversi modi per accedere all'opzione Esegui test

  1. Se le impostazioni del progetto sono configurate in modo da richiedere il superamento dei test sui dati prima del deployment dei file in produzione, l'IDE mostrerà il pulsante Esegui test dopo che avrai commitato le modifiche al progetto per eseguire tutti i test per il progetto, indipendentemente dal file che definisce il test. Devi superare i test sui dati prima di poter eseguire il deployment delle modifiche in produzione.
  2. Seleziona il pulsante Esegui test sui dati nel riquadro Integrità del progetto. Looker eseguirà tutti i test sui dati nel progetto, indipendentemente dal file che definisce il test.
  3. Seleziona l'opzione Esegui test LookML dal menu del file. Looker eseguirà solo i test definiti nel file corrente.

Una volta eseguiti i test dei dati, nel riquadro Integrità del progetto verranno visualizzati l'avanzamento e i risultati.

Risultati del test dei dati nel riquadro Integrità del progetto

  • Un test sui dati viene superato quando l'asserzione del test è vera per ogni riga della query del test. Consulta la pagina di documentazione dei parametri test per informazioni dettagliate sulla configurazione di query e asserzioni di test.
  • Se un test dei dati non va a buon fine, il riquadro Stato del progetto fornisce informazioni sul motivo per cui il test non è riuscito, se ha rilevato errori nella logica del modello o se il test stesso non era valido.
  • Dai risultati del test dei dati, puoi selezionare il nome di un test dei dati per andare direttamente al LookML per il test dei dati oppure puoi selezionare il pulsante Query di esplorazione per aprire un'esplorazione con la query definita nel test dei dati.

Esegui il deployment in produzione

Una volta eseguito il commit delle modifiche al ramo, l'IDE di Looker ti chiederà di unire le modifiche al ramo principale. Il tipo di prompt visualizzato nell'IDE dipende dalla configurazione del progetto:

  • Se il tuo progetto è configurato per la modalità di deployment avanzata, l'IDE ti chiederà di unire le modifiche al ramo principale. Una volta unito il commit, uno sviluppatore Looker con l'autorizzazione deploy può eseguirne il deployment in produzione utilizzando Deployment Manager dell'IDE di Looker oppure utilizzando un webhook o un endpoint API.
  • Se il tuo progetto è configurato per l'integrazione Git tramite richieste di pull, ti verrà chiesto di aprire una richiesta di pull utilizzando l'interfaccia del tuo provider Git.
  • In caso contrario, con l'integrazione Git di Looker predefinita, se disponi dell'autorizzazione deploy, l'IDE di Looker ti chiederà di unire le modifiche al ramo di produzione e di implementarle nella versione di produzione della tua istanza di Looker.

Quando esegui il deployment delle modifiche, l'IDE Looker mostra una finestra di dialogo Deployment inviato per confermare che le modifiche sono in fase di deployment. Puoi fare clic sul pulsante Vai a Deployment Manager nella finestra di dialogo per accedere alla scheda Esegui il deployment del progetto e controllare l'avanzamento del deployment.

Deployment Manager è visibile solo in modalità di sviluppo e mostra un elenco dei deployment recenti e del relativo stato. Se un deployment è ancora in esecuzione, ad esempio nel caso di un modello LookML molto grande, nella tabella dei deployment viene visualizzata un'icona Aggiorna. Puoi fare clic sull'icona Aggiorna per visualizzare lo stato aggiornato del deployment.

Se uno dei tuoi deployment è stato eseguito con la modalità di deployment avanzata, Deployment Manager mostra il tag specificato dallo sviluppatore LookML, se presente.

Sbloccare un branch Git bloccato

Ora disponibile in anteprima, gli sviluppatori LookML possono sbloccare un ramo Git nei casi in cui il ramo Git è bloccato a causa di un'altra operazione Git in corso o di un'operazione Git precedente non riuscita. Quando il repository Git è bloccato, Looker mostra l'opzione Sblocca ramo nel pannello Azioni Git dell'IDE di Looker. Inoltre, se uno sviluppatore LookML tenta di eseguire il commit di una modifica su un ramo Git bloccato, Looker mostra un avviso nella finestra di dialogo Commit, insieme a un'opzione per eliminare il blocco Git.

Eliminazione della copia per lo sviluppatore del progetto LookML

La prima volta che apri un progetto LookML in modalità di sviluppo, l'IDE di Looker mostra la versione del progetto in modalità di produzione, insieme al pulsante Crea copia sviluppatore. Quando fai clic sul pulsante Crea copia sviluppatore per il progetto, Looker crea un clone locale del repository Git del progetto, crea il tuo ramo Git personale e carica il progetto LookML in modalità di sviluppo.

Se non hai bisogno della copia locale dello sviluppatore del repository Git, se lo stato di Git non è coerente o se non riesci a modificare i file LookML, puoi eliminare la copia dello sviluppatore come descritto in questa sezione.

Se elimini la copia per lo sviluppatore del repository Git del progetto, perderai quanto segue:

Per eliminare la copia per sviluppatori del repository del progetto LookML:

  1. Apri il progetto LookML nell'IDE di Looker.
  2. Seleziona l'icona Impostazioni dal menu delle icone dell'IDE di Looker per visualizzare le impostazioni del progetto. Per impostazione predefinita, si apre la scheda Configurazione.
  3. Nella scheda Configurazione, fai clic sul pulsante Elimina copia sviluppatore.
  4. Per evitare di eliminare accidentalmente la copia per sviluppatori del repository del progetto, Looker mostra una finestra di dialogo di conferma. Nella finestra di dialogo di conferma, inserisci il nome del progetto LookML nel campo di testo.
  5. Per evitare di eliminare accidentalmente la copia dello sviluppatore del repository del progetto, Looker mostra una finestra di dialogo di conferma. Nella finestra di dialogo di conferma, inserisci il nome del progetto LookML nel campo di testo.
  6. Fai clic sul pulsante Elimina copia per sviluppatore per <nome del progetto>.

Quando Looker ha eliminato la copia per lo sviluppatore del repository del progetto, l'IDE di Looker mostra la versione in modalità di produzione del progetto LookML.

Se vuoi creare una nuova copia per sviluppatori del repository del progetto, fai clic sul pulsante Crea copia per sviluppatori.

Modalità di deployment avanzata

Con l'integrazione Git predefinita di Looker, gli sviluppatori di Looker eseguono il commit delle modifiche al ramo di sviluppo, quindi uniscono il ramo di sviluppo al ramo di produzione. Poi, quando esegui il deployment nell'ambiente Looker, Looker utilizza il commit più recente nel ramo di produzione. Per il flusso di lavoro Git predefinito e altre opzioni per implementazioni Git avanzate, consulta la sezione Trasferire le modifiche in produzione in questa pagina.

Nei casi in cui non vuoi che venga sempre utilizzato l'ultimo commit nel ramo di produzione per il tuo ambiente Looker, uno sviluppatore con l'autorizzazione deploy può utilizzare la modalità di deployment avanzata per specificare il commit esatto da utilizzare per il tuo ambiente Looker. Ciò è utile nei flussi di lavoro degli sviluppatori multi-ambiente, in cui ogni ambiente punta a una versione diversa di una base di codice. Inoltre, consente a uno o più sviluppatori o amministratori di avere un maggiore controllo sulle modifiche di cui viene eseguito il deployment in produzione.

Quando la modalità di deployment avanzata è abilitata, l'IDE Looker non chiede agli sviluppatori di eseguire il deployment delle modifiche in produzione. L'IDE chiede invece agli sviluppatori di unire le modifiche nel ramo di produzione. Da qui, le modifiche possono essere implementate solo nei seguenti modi:

  • Utilizzare Deployment Manager nell'IDE di Looker
  • Attivazione di un webhook
  • Utilizzo di un endpoint API

Per i dettagli, consulta la pagina della documentazione Modalità di deployment avanzata.

Controllare l'impatto delle modifiche

Dopo aver reso disponibili le modifiche all'organizzazione, puoi utilizzare la convalida dei contenuti per assicurarti di non aver invalidato dashboard o Look salvati. Se hai commesso degli errori, avrai l'opportunità di correggerli.

Gestione dei problemi tipici

Mentre lavori al modello, potresti dover eseguire una delle seguenti azioni:

  • Ignora le modifiche

    A volte potresti voler abbandonare le modifiche alla modellazione dei dati. Se non hai ancora salvato le modifiche, puoi aggiornare la pagina o uscire e accettare il messaggio di avviso. Se hai salvato le modifiche, puoi ripristinare quelle di cui non è stato eseguito il commit come descritto nella sezione Ripristinare le modifiche di cui non è stato eseguito il commit.

  • Gestire i conflitti di unione con il lavoro di altri sviluppatori

    Se hai più di uno sviluppatore che lavora al tuo modello dei dati, in genere Git gestisce la situazione. Tuttavia, a volte Git ha bisogno di un intervento umano per risolvere i conflitti di unione.

Alcune modifiche, ad esempio quella del nome di un campo, possono influire sui dashboard e sui Look esistenti. Come accennato in precedenza, dopo aver reso disponibili le modifiche all'organizzazione, puoi utilizzare la convalida dei contenuti per controllare i contenuti e risolvere eventuali problemi.

Annullamento delle modifiche di cui non è stato eseguito il commit

Quando lavori sul tuo ramo di sviluppo personale, puoi ripristinare le modifiche non eseguite che hai salvato se non vuoi eseguirle. Puoi ripristinare tutte le modifiche non eseguite per tutti i file del progetto o solo le modifiche in un singolo file.

Tieni presente quanto segue in merito all'annullamento delle modifiche:

  • Quando rinomini un file, in pratica elimini il file originale e ne crei uno nuovo con un nuovo nome. Poiché l'operazione riguarda più di un file, non puoi utilizzare l'opzione Ripristina file per annullare la ridenominazione di un file. Se vuoi annullare la ridenominazione di un file, utilizza l'opzione Ripristina... nel riquadro Azioni Git.
  • Quando elimini un file, questo non viene più visualizzato nel browser dei file dell'IDE. Se vuoi annullare l'eliminazione di un file, utilizza l'opzione Ripristina... nel riquadro Azioni Git.

Per ripristinare le modifiche non eseguite per tutti i file, segui questi passaggi:

Opzione Ripristina modifiche di cui non è stato eseguito il commit

  1. Seleziona l'opzione Ripristina… nel riquadro Azioni Git.
  2. Seleziona un'opzione di ripristino:
    • Per ripristinare solo le modifiche di cui non è stato eseguito il commit, seleziona Annulla modifiche di cui non è stato eseguito il commit. Puoi anche selezionare il link Visualizza modifiche per visualizzare le modifiche che verranno ripristinate.
    • Per ripristinare tutte le modifiche, incluse quelle di cui non è stato eseguito il commit e quelle di cui è stato eseguito il commit, seleziona Ripristina versione di produzione.
  3. Per completare la procedura di ripristino, seleziona Conferma.

Per ripristinare eventuali aggiunte o eliminazioni nei contenuti di un singolo file, seleziona l'opzione Ripristina file dal menu del file:

Opzione Ripristina file

Risoluzione dei conflitti di unione

In genere, Git può unire automaticamente le nuove modifiche alla versione di produzione dei file LookML. Si verifica un conflitto di unione quando Git rileva modifiche in conflitto e non riesce a identificare quali modifiche devono essere mantenute, in genere quando un altro sviluppatore ha apportato modifiche dopo l'ultimo pull e tu hai apportato modifiche nella stessa area. Se si verifica un conflitto di unione nel codice, Looker mostra un avviso Conflitti di unione dopo il commit delle modifiche e il pull dalla produzione.

Avviso relativo ai conflitti di unione

Quando Looker mostra l'avviso di conflitto di unione, ti consigliamo di risolvere il conflitto di unione prima di apportare ulteriori modifiche. Il push di un conflitto di unione in produzione causerà errori di analisi che potrebbero impedire l'esplorazione dei dati. Se sei un utente Git esperto e vuoi procedere con il push delle modifiche, seleziona il pulsante Non risolvere.

Nel file LookML stesso, le righe con conflitti sono contrassegnate nel seguente modo:

<<<<<<< HEAD
Your code
&#61;&#61;&#61;&#61;&#61;&#61;&#61;
Production code
>>>>>>> branch 'master'

Looker mostra i seguenti indicatori di unione per indicare i conflitti di unione:

  • <<<<<<< HEAD segna l'inizio delle righe in conflitto.
  • >>>>>>> branch 'master' indica la fine delle righe in conflitto.
  • ======= separa ogni versione del codice per consentirti di confrontarle.

Nell'esempio precedente, your code rappresenta le modifiche che hai eseguito e production code rappresenta il codice in cui Git non è riuscito a unire automaticamente le modifiche.

Per risolvere un conflitto di unione:

Conflitto di unione contrassegnato nel file

  1. Trova i file con conflitti di unione. Looker contrassegna questi file in rosso oppure puoi anche cercare nel progetto i marcatori di unione, ad esempio <<<< o HEAD, per trovare tutti i conflitti nel progetto. Puoi anche trovare i file interessati selezionando il link file nell'avviso di unione visualizzato nel riquadro Azioni Git.
  2. Nel file, vai alle righe con conflitti di unione ed elimina la versione del testo che NON vuoi conservare, nonché tutti i marcatori di conflitti di unione.
  3. Salva il file e ripeti i passaggi precedenti per tutti gli altri file contrassegnati con conflitti di unione.

  4. Dopo aver risolto tutti i conflitti di unione ed eliminato tutti i marcatori di unione dal progetto, esegui il commit delle modifiche ed esegui il deployment in produzione.

Ora che hai risolto il conflitto di unione e hai eseguito il push della soluzione in produzione, gli altri sviluppatori possono eseguire il pull dalla produzione e continuare a lavorare come di consueto.

Risoluzione degli errori di deployment invisibile e dei commit non sincronizzati

Potresti riscontrare comportamenti imprevisti in Looker Deployment Manager, ad esempio:

  • Deployment minori che non riescono in modo invisibile senza presentare un errore nell'interfaccia utente di Looker
  • L'interfaccia utente di Looker mostra erroneamente centinaia di differenze di commit tra Looker e il ramo di produzione
  • Tentativi successivi di rollback o ripristino con hash di commit completamente diversi
  • Impossibilità di ispezionare con precisione i deployment precedenti nella UI di Looker

Causa

Questi sintomi sono in genere causati da un blocco Git obsoleto o da un riferimento in conflitto (ad esempio un tag esistente che punta a una SHA di commit specifica) nel repository di backend. Viene attivato un errore interno Branch already exists, che impedisce l'aggiornamento di LookML di produzione e causa l'esito negativo del deployment.

Risoluzione

Per risolvere questi errori di implementazione invisibile e sincronizzare nuovamente il progetto, reimposta la connessione Git seguendo questi passaggi:

  1. In Looker, vai alle impostazioni del progetto LookML interessato.
  2. Seleziona Reimposta connessione Git.
  3. Inserisci di nuovo l'URL del repository e fai clic su Continua.
  4. Looker genererà una nuova chiave di deployment SSH. Aggiungi questa nuova chiave pubblica al tuo provider Git come chiave di deployment per il repository.
    • Assicurati di consentire l'accesso in scrittura (se utilizzi GitHub) o l'autorizzazione equivalente per il tuo provider Git.
  5. Fai clic su Testa e finalizza la configurazione per stabilire la nuova connessione.

Risoluzione dell'errore Pull Remote Changes Failed. Pull Incomplete

Se ricevi l'errore Pull Remote Changes Failed. Pull Incomplete, puoi risolverlo in uno dei seguenti modi:

  • Conserva manualmente le modifiche locali: se vuoi conservare le modifiche non eseguite o i rami Git su cui non hai ancora eseguito il push dei commit, conserva manualmente gli aggiornamenti copiandoli sul computer locale. Poi, esegui il pull dalla produzione, riapplica manualmente le modifiche, esegui il commit e il push per risolvere il conflitto.
  • Elimina la copia per lo sviluppatore: in alternativa, puoi utilizzare l'opzione Elimina copia per lo sviluppatore per reimpostare lo stato di Git per il ramo ed eliminare i conflitti. Per ulteriori informazioni, consulta la sezione Eliminazione della copia per sviluppatori del progetto LookML in questa pagina.

Risoluzione dell'errore Pull Production Failed con lo stato MERGING_RESOLVED

Se ricevi il messaggio di errore Pull Production Failed: Cannot pull into a repository with state: MERGING_RESOLVED, significa che il repository Git è bloccato nello stato MERGING_RESOLVED. Questo problema è in genere causato da un'unione incompleta o da un conflitto di unione persistente.

Per cancellare questo stato e risolvere l'errore, esegui una delle seguenti azioni:

  • Elimina la copia per sviluppatore: puoi eliminare e ricreare il workspace locale per pulire i riferimenti nel repository Git. Per istruzioni su come eseguire questa operazione, consulta la sezione Eliminare la copia sviluppatore del progetto LookML in questa pagina.
  • Crea un ramo pulito: in alternativa, puoi creare un nuovo ramo pulito e inviarlo alla produzione. In questo modo, è possibile risolvere lo stato di conflitto di unione e consentire ai rami di sviluppo di eseguire il pull dalla produzione senza problemi.

Risoluzione dell'errore Production HTTPS credentials are OK but your development HTTPS credentials are failing to authorize to the remote

Se utilizzi le credenziali HTTPS per connetterti al tuo provider Git, potresti visualizzare l'errore Production HTTPS credentials are OK but your development HTTPS credentials are failing to authorize to the remote quando recuperi le modifiche remote per sincronizzare le versioni più recenti di tutti i file modificati nel ramo dall'estremità remota ai tuoi file locali.

Questo errore può verificarsi quando il token di accesso personale o le credenziali configurate per l'ambiente di sviluppo Looker non sono corretti, non sono validi o sono scaduti.

Per risolvere questo errore, genera un nuovo token di accesso personale dal provider Git (ad esempio Azure DevOps o GitLab) e aggiorna le credenziali di sviluppo di Looker con il token appena generato. Per evitare questo errore in futuro, monitora la data di scadenza del token di accesso Git personale per assicurarti che venga aggiornato in modo proattivo in Looker prima della scadenza.

Impossibile eliminare i rami Git personali

Per impostazione predefinita, la UI di Looker ti impedisce di eliminare manualmente i rami personali appartenenti ad altri utenti o service account. Nella scheda Gestione filiali, le caselle di controllo per selezionare ed eliminare queste filiali non sono disponibili e non hanno un pulsante Elimina.

Inoltre, l'eliminazione di questi rami direttamente sul tuo provider Git (ad esempio GitHub) non li rimuoverà automaticamente dal clone Git locale di Looker e continueranno a essere visualizzati nella UI di Looker.

Risoluzione

Per eliminare i rami personali appartenenti ad altri utenti o account di servizio da Looker, utilizza l'API Looker o un SDK per eliminarli in modo programmatico.

Utilizza l'endpoint API delete_git_branch, specificando project_id e branch_name che vuoi eliminare.

In alternativa, utilizza uno degli SDK di Looker. Ad esempio, questo esempio utilizza il metodo SDK:

delete_git_branch(<PROJECT_ID>, <BRANCH_NAME>)

Garbage collection di Git

La garbage collection di Git pulisce i file non necessari e comprime le revisioni dei file per ottimizzare il repository Git. La garbage collection di Git (git gc) viene eseguita automaticamente quando l'istanza Looker viene aggiornata o riavviata. Per evitare di eseguire git gc troppo spesso, Looker attende 30 giorni dall'ultimo git gc, quindi esegue git gc al successivo riavvio.

In rari casi, potresti provare a eseguire il push delle modifiche a remoto o eseguire il push del ramo a remoto mentre è in esecuzione git gc. Se Looker mostra un errore, attendi un minuto o due e riprova a eseguire il push delle modifiche.