Gestire le pipeline utilizzando Gestione del controllo del codice sorgente

Questa pagina descrive come gestire le pipeline utilizzando il controllo del codice sorgente in Cloud Data Fusion tramite i repository Git.

Informazioni sulla gestione del controllo del codice sorgente

Cloud Data Fusion offre la capacità di progettare visivamente le pipeline per le integrazioni ETL ed ELT. Per una migliore gestione delle pipeline sviluppo e produzione, Cloud Data Fusion consente la gestione del controllo del codice sorgente delle pipeline utilizzando GitHub e altri sistemi di controllo delle versioni.

La gestione del controllo del codice sorgente in Cloud Data Fusion ti consente di:

  • Integrare ogni spazio dei nomi di Cloud Data Fusion con un sistema di controllo della versione.
  • Gestisci le tue pipeline in un repository Git centrale.
  • Esaminare e controllare le modifiche apportate alla pipeline.
  • Ripristina le modifiche alla pipeline.
  • Collabora in modo efficace con il team garantendo al contempo il controllo centrale.

Prima di iniziare

  • La gestione del controllo del codice sorgente supporta l'integrazione con i repository GitHub, Bitbucket Server, Bitbucket Cloud e Gitlab.
  • OAuth di GitHub non è supportato.
  • Gestione del controllo del codice sorgente supporta solo pipeline batch.
  • Source Control Management supporta solo JSON di progettazione delle pipeline per le operazioni push e pull. Le configurazioni di esecuzione non sono supportate.
  • Il limite di dimensioni del repository collegato è di 5 GB.

Ruoli e autorizzazioni richiesti

La gestione del controllo del codice sorgente in Cloud Data Fusion prevede due operazioni chiave:

  • Configurazione dei repository di controllo del codice sorgente
  • Sincronizzazione delle pipeline con i repository Git mediante le operazioni di push e pull

Per ottenere le autorizzazioni necessarie per utilizzare la funzionalità di gestione del controllo del codice sorgente, chiedi al tuo di concederti uno dei seguenti ruoli predefiniti nel tuo progetto:

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci accesso.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite altri ruoli predefiniti.

configura un repository Git

Per creare un repository Git in GitHub, segui le istruzioni riportate in Crea un repository.

Per saperne di più sui token di accesso personale in GitHub e in altri sistemi di controllo della versione, consulta le seguenti pagine:

Connetti un repository Git con Cloud Data Fusion

Cloud Data Fusion ti consente di configurare e collegare il tuo repository Git nella scheda Gestione controllo del codice sorgente per ogni spazio dei nomi. Per collegare uno spazio dei nomi a Git, segui questi passaggi:

Console

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Amministratore spazio dei nomi.
  3. Nella pagina Amministrazione spazio dei nomi, fai clic su Gestione del controllo del codice sorgente. .
  4. Fai clic su Collega repository.
  5. Inserisci i seguenti dettagli:

    • Provider: scegli un provider di servizi Git, ad esempio GitHub o GitLab.
    • URL repository: inserisci l'URL in cui si può trovare il repository o rifiutano le richieste in base all'organizzazione a cui si accede. Per GitHub, l'URL del repository è https://github.com/HOST/REPO.
    • (Facoltativo) Ramo predefinito: inserisci il ramo iniziale del Git. Questo ramo può essere diverso da quello predefinito configurato su GitHub. Questo ramo viene utilizzato per sincronizzare le pipeline, indipendentemente da quello predefinito su GitHub.
    • (Facoltativo) Prefisso percorso: inserisci un prefisso per il nome della pipeline che sia nel repository Git. Ad esempio, se il nome della pipeline è DataFusionQuickStart e se specifichi il prefisso namespaceName, la pipeline viene salvata namespaceName/DataFusionQuickStart nel repository Git.
    • Tipo di autenticazione: Cloud Data Fusion consente di utilizzare il metodo personalizzato come tipo di autenticazione. Questo è selezionate automaticamente.
    • Nome token: inserisci un nome che può essere associato al token.
    • Token: inserisci il token fornito dal repository GitHub.
    • (Facoltativo) Nome utente: inserisci un nome utente o un proprietario per il token.
  6. Fai clic su Validate (Convalida). Attendi che la connessione venga verificata.

  7. Al termine della configurazione, fai clic su Salva e chiudi per confermarla.

Connetti un repository Git con Cloud Data Fusion.

API REST

  1. Crea una chiave segreta in Cloud Data Fusion contenente il token di accesso personale.

  2. Esegui questo comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • PASSWORD_SECRET_KEY: il nome del secret chiave contenente il token di accesso personale.
    • PERSONAL_ACCESS_TOKEN: token di accesso personale di GitHub.
  3. Esegui questo comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • TEST_ONLY: imposta su true se vuoi convalidare solo la configurazione e non aggiungerne altre.
    • PROVIDER_TYPE: il nome del provider Git, è GITHUB.
    • REPO_URL: URL del repository da collegare. Utilizza le funzionalità di un URL https, ad esempio https://github.com/user/repo.git.
    • DEFAULT_BRANCH: ramo utilizzato per push e le operazioni di pull. Se omesso, viene utilizzato il ramo configurato predefinito nel repository, ad esempio il ramo principale.
    • PATH_TO_DIRECTORY: percorso della directory in nel repository in cui sono archiviati i file di configurazione.
    • AUTH_TYPE: il tipo di autenticazione. È supportato solo PAT. Vedi Token di accesso personale granulare in GitHub.
    • PASSWORD_SECRET_KEY: il nome del secret chiave contenente il token di accesso personale per il tipo di autenticazione PAT.
    • USER_NAME: puoi omettere questo valore per tipo di autenticazione PAT.

Sincronizzare le pipeline di Cloud Data Fusion con un repository remoto

Dopo aver configurato un repository Git con uno spazio dei nomi, puoi eseguire il push e il pull le pipeline e sincronizzarle con il repository Git.

Esegui il push delle pipeline da Cloud Data Fusion al repository Git

Per sincronizzare più pipeline di cui è stato eseguito il deployment da uno spazio dei nomi a un repository Git, segui questi passaggi:

Console

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Amministratore spazio dei nomi.
  3. Nella pagina Amministrazione spazio dei nomi, fai clic su Gestione del controllo del codice sorgente. .
  4. Trova il repository Git con cui vuoi eseguire la sincronizzazione e fai clic su Sincronizza pipeline.
  5. Fai clic sulla scheda Pipeline dello spazio dei nomi.
  6. Cerca e seleziona le pipeline di cui vuoi eseguire il push nel Git repository Git.

    Se viene eseguito il push o il pull della pipeline dal repository Git repository, lo stato Connesso a Git mostra Connected. Se non è mai stato eseguito il push su GitHub, lo stato Connesso a Git mostra lo spazio vuoto (-).

    Se esegui il deployment di una versione più recente di una pipeline già sincronizzata con Repository Git, lo stato Connesso a Git passa da Connected a vuoto (-).

  7. Fai clic su Esegui il push al repository.

  8. Inserisci un Messaggio di commit e fai clic su OK.

    L'operazione di push viene avviata e viene visualizzato un messaggio che indica che viene eseguito il push nel repository remoto delle pipeline selezionate.

Esegui il push delle pipeline da Cloud Data Fusion al repository Git.

Quando l'operazione di push è stata completata correttamente, viene visualizzato un messaggio di operazione riuscita che indica il numero di pipeline di cui è stato eseguito il push sul server repository Git.

Se l'operazione di push non va a buon fine, controlla la pipeline in GitHub per verificare che all'ultima versione. Per ogni operazione push non riuscita, viene visualizzato un messaggio di errore. Per visualizzare i dettagli dell'errore, espandi il messaggio.

Puoi anche eseguire il push di singole pipeline in un repository Git dalla pipeline Design Studio:

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Elenco.
  3. Fai clic sulla pipeline di cui vuoi eseguire il push nel repository Git.
  4. Nella pagina Pipeline, fai clic su Azioni >. Esegui il push al repository.
  5. Inserisci un Messaggio di commit e fai clic su OK.

Esegui il push delle pipeline dallo studio di progettazione delle pipeline.

API REST

  1. Esegui il push di un insieme di pipeline da Cloud Data Fusion al repository Git:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST
    -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • PIPELINE_NAME_1 e PIPELINE_NAME_2: dei nomi delle pipeline di cui eseguire il push.
    • COMMIT_MESSAGE: messaggio del commit per il commit Git.

    La risposta contiene l'ID dell'operazione push. Ad esempio:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Per eseguire il polling dello stato dell'operazione di push, esegui questo comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • OPERATION_ID: l'ID operazione ricevuto da l'operazione di push.

    La risposta contiene lo stato dell'operazione di push. Ad esempio:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Per verificare se l'operazione di push è stata completata, controlla done nella risposta. Se l'operazione non è riuscita, controlla error per ulteriori dettagli.

Esegui il pull delle pipeline dal repository Git a Cloud Data Fusion

Per sincronizzare più pipeline da un repository Git al tuo spazio dei nomi, segui questi passaggi passaggi:

Console

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Amministratore spazio dei nomi.
  3. Nella pagina Amministrazione spazio dei nomi, fai clic su Gestione del controllo del codice sorgente. .
  4. Trova il repository Git con cui vuoi eseguire la sincronizzazione e fai clic su Sincronizza pipeline.
  5. Fai clic sulla scheda Pipeline del repository. Vengono visualizzate tutte le pipeline archiviate nel repository Git.
  6. Cerca e seleziona le pipeline di cui vuoi eseguire il pull dal Git nello spazio dei nomi di Cloud Data Fusion.
  7. Fai clic su Pull dal repository.

    L'operazione di pull viene avviata e viene visualizzato un messaggio che indica che le pipeline selezionate vengono estratte dal repository remoto. Cloud Data Fusion cerca i file JSON nel percorso configurato e esegue il pull e il deployment delle pipeline come pipeline in Cloud Data Fusion.

Esegui il pull delle pipeline dal repository Git a Cloud Data Fusion.

Quando l'operazione di pull viene completata correttamente, viene visualizzato un messaggio di operazione riuscita che indica il numero di pipeline di cui è stato eseguito il pull repository remoto.

Se l'operazione di pull non riesce, viene visualizzato un messaggio di errore. Per visualizzare dettagli dell'errore, espandi il messaggio.

Puoi anche eseguire il pull di singole pipeline da un repository Git a uno spazio dei nomi dallo studio di progettazione di pipeline:

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Elenco.
  3. Fai clic sulla pipeline che vuoi estrarre dal repository Git.
  4. Nella pagina Pipeline, fai clic su Azioni >. Esegui il pull dal repository.

Eseguire il pull delle pipeline da Pipeline Design Studio.

API REST

  1. Esegui il pull di un set di pipeline dal repository Git a Cloud Data Fusion:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • PIPELINE_NAME_1 e PIPELINE_NAME_2: delle pipeline di cui eseguire il pull.

    La risposta contiene l'ID dell'operazione di estrazione. Ad esempio:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Per eseguire il polling dello stato dell'operazione di pull, esegui questo comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Sostituisci quanto segue:

    • NAMESPACE_ID: l'ID dello spazio dei nomi.
    • OPERATION_ID: l'ID operazione ricevuto da l'operazione di pull.

    La risposta contiene lo stato dell'operazione di pull. Ad esempio:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Per verificare se l'operazione di pull è stata completata, controlla la proprietà done nella risposta. Se l'operazione non è riuscita, controlla error per ulteriori dettagli.

Elimina la configurazione del repository Git

Per eliminare la configurazione del repository Git da uno spazio dei nomi:

Console

  1. In Cloud Data Fusion Studio, fai clic su Menu.
  2. Fai clic su Amministratore spazio dei nomi.
  3. Nella pagina Amministrazione spazio dei nomi, fai clic su Gestione del controllo del codice sorgente. .
  4. Per la configurazione del repository Git che vuoi eliminare, fai clic su > Elimina:

API REST

Elimina la configurazione del repository Git:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE

Sostituisci NAMESPACE_ID con l'ID del nello spazio dei nomi.

Passaggi successivi