Diagnosi e riparazione dei problemi di Git nei progetti LookML

I progetti Looker si basano su configurazioni Git stabili (ad esempio connessioni a repository remoti, chiavi di deployment valide, strutture di repository intatte e autorizzazioni del file system corrette). Quando si verificano problemi con Git, sviluppatori e amministratori possono utilizzare lo strumento Diagnostica e ripristino per testare l'integrità del repository, identificare le cause principali ed eseguire riparazioni automatiche.

Lo strumento Diagnostica e ripara valuta il repository del progetto LookML in base a otto controlli di test diagnostici nell'ambiente di sviluppo personale o nell'ambiente di produzione condiviso. Quando vengono rilevati problemi, Looker può eseguire automaticamente riparazioni chirurgiche (ad esempio rimuovere file di blocco obsoleti, correggere le autorizzazioni dei file o riparare gli indici degli oggetti danneggiati) o ricostruire i repository danneggiati salvaguardando le modifiche non eseguite in un ramo di recupero dedicato.

Prerequisiti e autorizzazioni

Per utilizzare lo strumento Diagnostica e riparazione di Git, devi soddisfare i seguenti requisiti di autorizzazione:

  • Ambiente di sviluppo: richiede l'autorizzazione develop per almeno un modello nel progetto.
  • Ambiente di produzione: richiede l'autorizzazione deploy per almeno un modello nel progetto.

Esecuzione di una diagnostica Git

Per diagnosticare un progetto LookML:

  1. Attiva la modalità di sviluppo.
  2. Nel pannello di navigazione, seleziona Sviluppo per aprire il pannello Sviluppo.
  3. Nel riquadro Sviluppo, seleziona Progetti per visualizzare la pagina Progetti LookML.
  4. Apri il progetto di cui vuoi eseguire la diagnostica.
  5. Seleziona l'icona Impostazioni dal menu delle icone dell'IDE di Looker.
  6. Nella sezione Diagnostica e riparazione Git, fai clic su Diagnostica e riparazione.
  7. Nella finestra di dialogo Diagnostica e ripara, seleziona l'ambiente che vuoi testare:

    Finestra di dialogo Diagnostica e riparazione con l'ambiente di sviluppo selezionato.

    • Sviluppo: esegue test sulla tua copia personale per sviluppatori del repository Git.
    • Produzione: esegue il test della copia di produzione del repository Git.
  8. Fai clic su Diagnostica.

Looker avvia la suite di test di diagnostica e mostra l'avanzamento in tempo reale di ogni controllo del test nella finestra di dialogo.

Report diagnostico Git che mostra i test eseguiti e i risultati dei test.

Interpretare i risultati della diagnostica

Durante l'esecuzione della suite di test diagnostici, ogni controllo segnala uno dei seguenti stati:

Badge di stato Significato Azione richiesta
Non rilevato Il controllo diagnostico è stato superato senza problemi. Non occorre alcun intervento.
Rilevato È stato rilevato un problema o un'incoerenza nel repository o nella connessione. Esegui la riparazione automatica, se disponibile, o segui i passaggi per la risoluzione manuale.
Riparato Un problema è stato risolto correttamente dalla procedura di riparazione automatica. Non sono necessarie ulteriori azioni.
Non riuscito Il tentativo di riparazione automatica non è riuscito a risolvere il problema o il controllo richiede un intervento manuale. Esamina i dettagli del problema e segui le procedure di correzione manuale.

Esecuzione di riparazioni automatiche

Se uno dei controlli diagnostici restituisce lo stato Rilevato e supporta la riparazione automatica, puoi avviare le riparazioni direttamente dalla finestra di dialogo:

  1. Nella finestra di dialogo Diagnostica e riparazione, fai clic sul pulsante Avvia riparazione.
  2. Looker applica le riparazioni automatiche a tutti i problemi riparabili.
  3. Al termine della procedura di riparazione, i badge di stato vengono aggiornati a Riparato per i controlli risolti o Non riuscito se è necessario un intervento manuale.

Riferimento a controlli diagnostici e riparazioni

La suite di test diagnostici valuta otto categorie di problemi di Git. La tabella seguente descrive ogni controllo, la relativa diagnosi e l'azione correttiva eseguita:

Controllo diagnostico Descrizione Tipo di riparazione Azioni correttive
Configurazione Git Verifica che il progetto disponga dei prerequisiti necessari per inizializzare il repository (un URL di origine Git remoto configurato e un record di configurazione del database attivo). Manuale Se mancano i valori obbligatori, completa la configurazione iniziale di Git nelle impostazioni progetto (Impostazioni > Configurazione > Configura Git). Per saperne di più, consulta la sezione Risoluzione dei problemi di configurazione di Git.
Test di connessione di Git Esegue la suite di test di connessione Git standard di Looker sul repository di origine remoto, verificando le credenziali, la raggiungibilità della rete e le autorizzazioni di accesso remoto. Manuale Gli errori di connessione sono causati da fattori esterni (ad esempio chiavi di deployment SSH scadute, token di accesso personale o OAuth revocati, limitazioni del firewall o interruzioni del provider). Risolvi il problema relativo alle credenziali o alla rete direttamente con il tuo provider Git. Per saperne di più, consulta la sezione Risoluzione dei problemi relativi al test di connessione Git.
Accesso al file system Rileva errori di I/O del file system o di archiviazione che impediscono a Looker di leggere gli elenchi di directory o i nomi file nel repository del progetto. Automatico Ricostruisce da zero una copia pulita del repository del progetto. Archivia la vecchia directory in un backup sicuro e salva il lavoro non eseguito in un ramo di recupero remoto.
Stato funzionale del repository Controlla se la struttura .git interna è presente e intatta e verifica che Git riconosca la directory come albero di lavoro funzionale. Automatico Ricostruisce il repository del progetto da zero, ripristinando una struttura di directory Git integra e archiviando i contenuti precedenti per evitare la perdita di dati.
File di blocco Git Esegue la scansione dei file .lock obsoleti (ad esempio blocchi di indice o di configurazione) lasciati da operazioni Git interrotte o terminate che bloccano i comandi Git successivi. Automatico Rimuove immediatamente i file di blocco obsoleti, sbloccando le operazioni Git senza alterare la cronologia del repository o i file di lavoro.
Autorizzazioni oggetti Esegue la scansione di file e directory del progetto per verificare le autorizzazioni del file system che si discostano dagli standard operativi e di sicurezza consigliati (ad esempio, garantendo che directory e script abbiano accesso in lettura ed esecuzione, mentre i file standard rimangano non eseguibili). Automatico Normalizza automaticamente le autorizzazioni di file e directory nel progetto, ripristinando le autorizzazioni di accesso standard sicure senza modificare i contenuti dei file.
Impostazioni di configurazione Git Verifica che la configurazione Git interna del repository corrisponda ai valori predefiniti richiesti di Looker (in particolare, verifica che il monitoraggio della modalità file core.filemode sia disattivato in modo che le differenze di autorizzazione tra i file system non generino modifiche false). Automatico Aggiorna la configurazione del repository in modo che corrisponda ai valori predefiniti di Looker e salva la configurazione aggiornata.
Controllo di coerenza (FSCK) del repository Esegue un controllo del file system Git (git fsck) per esaminare il database degli oggetti interno del repository e verificare la presenza di danneggiamenti strutturali (inclusi file di indice danneggiati, firme di commit errate, puntatori a oggetti non validi, oggetti danneggiati o riferimenti interrotti). Automatico Riparazione iniziale: ricompila gli indici, elimina i log di riferimento obsoleti, rimuove i riferimenti danneggiati ed esegue git fetch --refetch per recuperare gli oggetti mancanti.
Ricompilazione di riserva: se la riparazione iniziale non riesce a risolvere tutti gli errori, ricompila in modo sicuro il repository e conserva il lavoro non eseguito in una filiale di recupero remota.

Risoluzione dei problemi Git manuali

Se i controlli Configurazione Git o Test connessione Git rilevano un problema, la riparazione automatica non è disponibile perché il problema ha origine al di fuori del repository locale. Segui queste linee guida per risolvere i problemi manuali:

  • Risoluzione dei problemi di configurazione di Git:

    1. Apri il progetto nell'IDE di Looker.
    2. Seleziona l'icona Impostazioni dal menu delle icone.
    3. Nella scheda Configurazione, seleziona Reimposta connessione Git o Configura Git per completare la configurazione del repository. Per istruzioni dettagliate, vedi Configurare e testare una connessione Git.

  • Risoluzione dei problemi relativi al test di connessione di Git:

    • Chiavi di deployment SSH: verifica che la chiave di deployment in Looker corrisponda alla chiave pubblica registrata presso il tuo provider host Git e assicurati che l'accesso in scrittura sia abilitato. Se necessario, genera una nuova chiave di deployment nelle impostazioni progetto e aggiorna il provider Git.
    • Credenziali HTTPS e token di accesso personale: verifica se il token di accesso personale o la password del account di servizio è scaduto o è stato revocato. Genera un nuovo token sul tuo provider Git e aggiorna le credenziali in Looker.
    • Liste consentite IP e firewall: assicurati che il tuo provider host Git consenta il traffico in entrata dagli indirizzi IP dell'istanza Looker.