Migrazione a un nuovo repository Git

Se hai un progetto LookML collegato a un repository Git, ti consigliamo di spostare il codice LookML del progetto in un nuovo repository.

Esistono due possibili approcci a questo problema, entrambi descritti nelle seguenti sezioni:

  • Reimposta la connessione Git: questa semplice soluzione conserva tutti i rami personali e condivisi in Looker ed è adatta alla maggior parte dei casi d'uso.
  • Clonare il repository Git: questa soluzione avanzata è preferibile quando è importante poter vedere immediatamente la cronologia completa di tutti i rami mai utilizzati tramite l'interfaccia utente del tuo provider Git.

Soluzione semplice: reimpostazione della connessione Git

Se reimposti la connessione Git e inserisci l'URL di un nuovo repository Git, il LookML verrà spostato in quel repository. Tutte le modifiche salvate nei rami personali e condivisi verranno mantenute e potranno essere utilizzate in Looker. All'inizio, la UI del tuo provider Git mostrerà solo il ramo master e la relativa cronologia. Gli altri branch e la relativa cronologia verranno visualizzati al successivo commit nel branch. Per eseguire la migrazione a un nuovo repository utilizzando questo metodo, segui questi passaggi:

  1. Vai alla pagina Impostazioni progetto relativa al progetto.
  2. Nella scheda Configurazione della pagina Impostazioni progetto, seleziona il pulsante Reimposta connessione Git.
  3. Nella pagina Configura Git, inserisci il nuovo URL Git (l'URL Git del repository a cui vuoi eseguire la migrazione) e seleziona Continua.
  4. Se utilizzi SSH per connetterti, assicurati di selezionare Reset Key (Reimposta chiave). In caso contrario, verrà utilizzata la stessa chiave SSH, il che può causare un conflitto se entrambi i repository sono ospitati dallo stesso servizio (in questo caso GitHub).
  5. Per le connessioni SSH, aggiungi la nuova chiave di deployment al tuo repository Git e assicurati di concedere l'accesso in scrittura nelle impostazioni della chiave di deployment del repository Git. Se utilizzi HTTPS, inserisci le credenziali di accesso per il tuo repository Git. Per le istruzioni complete sulla configurazione di Git, consulta la pagina della documentazione Configurazione e test di una connessione Git.

Una volta completati questi passaggi, il progetto verrà collegato al nuovo repository.

Nota: il codice LookML del progetto non verrà visualizzato nel ramo principale del nuovo repository finché non eseguirai il deployment del progetto in produzione. A meno che non esegui il deployment in produzione, il codice LookML verrà visualizzato solo nel ramo di sviluppo nel nuovo repository dopo aver eseguito il commit del codice o eseguito il push in modalità remota (un comando Git disponibile nel riquadro Azioni Git).

Soluzione avanzata: clonazione del repository

La soluzione semplice descritta in precedenza preserverà la cronologia di tutti i rami, ma inizialmente nell'interfaccia utente di GitHub saranno visibili solo il ramo principale e la relativa cronologia. Una volta eseguito un commit su un ramo personale o condiviso in Looker, il ramo e la relativa cronologia verranno visualizzati nell'interfaccia utente di GitHub. È necessaria una soluzione più avanzata per visualizzare immediatamente tutti i rami e la loro cronologia tramite la UI di GitHub.

Innanzitutto, devi avere accesso al repository originale in GitHub (o in un altro provider Git). Puoi trovare l'URL del repository nella parte inferiore delle impostazioni o della pagina di configurazione del progetto.

Per questo esempio, supponiamo che git@github.com:looker/PROJECT_NAME.git sia il repository originale e git@github.com:your_organization/PROJECT_NAME.git il nuovo repository:

  1. Clona il repository originale sul computer e scarica i branch che vuoi conservare.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Reimposta l'URL remoto del repository. Per ulteriori informazioni, consulta la documentazione di GitHub.

    git remote -v
    

    Vengono visualizzati i repository remoti a cui attualmente fa riferimento il tuo repository. I risultati saranno simili a questo:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Dopodiché, imposta il repository remoto di origine sul nuovo repository:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Ora, per importare la cronologia e i file per i branch di sviluppo, devi eseguire git checkout dev_branch_name e git push origin per ogni branch di sviluppo. Questa operazione può essere eseguita manualmente o in loop in uno script come mostrato nell'esempio seguente:

    #!/bin/bash
    for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
    git branch --track "${branch##*/}" "$branch"
    done
    

    Quindi esegui il push dei rami con git push --all.

  5. Ripristina la connessione Git in Looker a questo nuovo URL e configura una chiave di deployment in questo nuovo repository (vedi i passaggi nella sezione della soluzione semplice all'inizio di questa pagina).