Gérer les pipelines à l'aide de la gestion du contrôle des sources

Cette page explique comment gérer des pipelines à l'aide du contrôle des sources Cloud Data Fusion via des dépôts Git.

À propos de la gestion du contrôle des sources

Cloud Data Fusion permet de concevoir visuellement des pipelines. pour les intégrations ETL et ELT. Pour une meilleure gestion des pipelines entre développement et de production, Cloud Data Fusion permet de gérer le contrôle des sources des pipelines en utilisant GitHub et d'autres systèmes de contrôle des versions.

La gestion des contrôles sources dans Cloud Data Fusion vous permet d'effectuer les opérations suivantes:

  • Intégrer chaque espace de noms Cloud Data Fusion à un système de contrôle des versions
  • Gérez vos pipelines dans un dépôt Git central.
  • Examiner et auditer les modifications du pipeline
  • Annulez les modifications apportées au pipeline.
  • Collaborer efficacement avec l'équipe tout en assurant un contrôle centralisé

Avant de commencer

  • Source Control Management prend en charge l'intégration de GitHub, Bitbucket Server, Bitbucket Cloud, et Gitlab.
  • GitHub OAuth n'est pas compatible.
  • La gestion du contrôle des sources n'est compatible qu'avec les pipelines de traitement par lot.
  • Source Control Management n'accepte que les fichiers JSON de conception de pipeline pour les opérations push et pull. Les configurations d'exécution ne sont pas acceptées.
  • La taille du dépôt associé ne doit pas dépasser 5 Go.

Rôles et autorisations requis

La gestion des contrôles sources dans Cloud Data Fusion comprend deux opérations clés:

  • Configurer des dépôts de contrôle des sources
  • Synchroniser des pipelines avec des dépôts Git à l'aide d'opérations push et pull

Pour obtenir les autorisations nécessaires pour utiliser la fonctionnalité de gestion du contrôle des sources, demandez à votre d'administrateur pour qu'il vous attribue l'un des rôles prédéfinis suivants projet:

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises par le biais d'autres rôles prédéfinis).

Configurer un dépôt Git

Pour créer un dépôt Git dans GitHub, suivez les instructions décrites dans la section Créez un dépôt.

Pour en savoir plus sur les jetons d'accès personnels dans GitHub et dans les autres versions de votre système de contrôle, consultez les pages suivantes:

Connecter un dépôt Git avec Cloud Data Fusion

Cloud Data Fusion vous permet de configurer et de connecter votre dépôt Git dans l'onglet "Gestion des contrôles sources" pour chaque espace de noms. Pour associer un espace de noms à votre git, procédez comme suit:

Console

  1. Dans Cloud Data Fusion Studio, cliquez sur Menu .
  2. Cliquez sur Administrateur d'espaces de noms.
  3. Sur la page Administrateur d'espaces de noms, cliquez sur Gestion du contrôle des sources. .
  4. Cliquez sur Associer le dépôt.
  5. Saisissez les informations suivantes :

    • Fournisseur: choisissez un fournisseur de services Git, tel que GitHub ou GitLab.
    • URL du dépôt: saisissez l'URL de votre dépôt. y accéder. Pour GitHub, l'URL du dépôt est https://github.com/HOST/REPO
    • Default branch (Branche par défaut) (facultatif): saisissez la branche initiale du Git. Ce peut être différente de la branche par défaut configurée sur GitHub. Cette branche est utilisée pour synchroniser les pipelines, quelle que soit la branche par défaut sur GitHub.
    • Préfixe de chemin (facultatif): saisissez pour le nom de votre pipeline un préfixe enregistré dans le dépôt Git. Par exemple, si le nom de votre pipeline est DataFusionQuickStart. Si vous spécifiez le préfixe comme namespaceName, le pipeline est enregistré en tant que namespaceName/DataFusionQuickStart dans le dépôt Git.
    • Type d'authentification: Cloud Data Fusion vous permet d'utiliser le un jeton d'accès personnalisé comme type d'authentification. C'est sélectionné automatiquement.
    • Nom du jeton: saisissez un nom pouvant être associé au jeton.
    • Jeton: saisissez le jeton fourni par le dépôt GitHub.
    • Facultatif: Nom d'utilisateur: saisissez un nom d'utilisateur ou un propriétaire pour le jeton.
  6. Cliquez sur Valider. Attendez que la connexion soit vérifiée.

  7. Une fois la configuration terminée, cliquez sur Save and close (Enregistrer et fermer) pour confirmer le configuration.

Connectez un dépôt Git avec Cloud Data Fusion.

API REST

  1. Créer une clé secrète dans Cloud Data Fusion contenant le jeton d'accès personnel.

  2. Exécutez la commande suivante :

    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"}'
    

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • PASSWORD_SECRET_KEY: nom du secret contenant un jeton d'accès personnel.
    • PERSONAL_ACCESS_TOKEN: accès personnel de GitHub.
  3. Exécutez la commande suivante :

    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"}}}}'
    

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • TEST_ONLY: définissez-la sur true si vous le souhaitez. valider uniquement la configuration et ne pas y ajouter.
    • PROVIDER_TYPE: nom du fournisseur Git, est GITHUB.
    • REPO_URL: URL du dépôt à associer. Utilisez une URL https, par exemple https://github.com/user/repo.git.
    • DEFAULT_BRANCH: branche utilisée pour les transferts et les opérations d'extraction. Si cette valeur est omise, la branche configurée par défaut dans le dépôt est utilisée (par exemple, la branche principale).
    • PATH_TO_DIRECTORY: chemin d'accès au répertoire dans le dépôt où les fichiers de configuration sont stockés.
    • AUTH_TYPE: type d'authentification Seul PAT est accepté. Consultez la page Jeton d'accès personnel ultraprécis dans GitHub.
    • PASSWORD_SECRET_KEY: nom du secret Clé contenant le jeton d'accès personnel pour le type d'authentification PAT.
    • USER_NAME: vous pouvez omettre cette valeur pour le type d'authentification PAT.

Synchroniser des pipelines Cloud Data Fusion avec un dépôt distant

Après avoir configuré un dépôt Git avec un espace de noms, vous pouvez transférer et extraire des pipelines et les synchroniser avec le dépôt Git.

Transférer des pipelines de Cloud Data Fusion vers un dépôt Git

Pour synchroniser plusieurs pipelines déployés depuis un espace de noms vers un dépôt Git, procédez comme suit:

Console

  1. Dans Cloud Data Fusion Studio, cliquez sur Menu .
  2. Cliquez sur Administrateur d'espaces de noms.
  3. Sur la page Administrateur d'espaces de noms, cliquez sur Gestion du contrôle des sources. .
  4. Recherchez le dépôt Git que vous souhaitez synchroniser, puis cliquez sur Sync pipelines (Pipelines de synchronisation).
  5. Cliquez sur l'onglet Pipelines d'espaces de noms.
  6. Recherchez et sélectionnez les pipelines que vous souhaitez transférer vers le un dépôt de clés.

    Si la dernière version du pipeline est transférée vers ou extraite de Git l'état Connecté à Git indique Connected. Si le pipeline n'a jamais été transféré vers GitHub, l'état Connecté à Git (-) est vide.

    Si vous déployez une version plus récente d'un pipeline déjà synchronisé avec dépôt Git, l'état Connecté à Git passe de Connected à vide (-).

  7. Cliquez sur Transférer vers le dépôt.

  8. Saisissez un message de commit, puis cliquez sur OK.

    L'opération d'envoi push démarre et un message s'affiche pour indiquer que les pipelines sélectionnés sont transférés vers le dépôt distant.

Transférez des pipelines de Cloud Data Fusion vers un dépôt Git.

Une fois l'opération d'envoi réussie, un message de réussite est envoyé affiché indiquant le nombre de pipelines transmis à l'instance distante un dépôt de clés.

Si l'opération d'envoi échoue, vérifiez le pipeline dans GitHub pour voir s'il s'agit du la dernière version. Pour chaque opération push ayant échoué, un message d'erreur est renvoyé affiché. Pour afficher les détails de l'erreur, développez le message d'erreur.

Vous pouvez également transférer des pipelines individuels vers un dépôt Git depuis le pipeline studio de conception:

  1. Dans Cloud Data Fusion Studio, cliquez sur Menu .
  2. Cliquez sur Liste.
  3. Cliquez sur le pipeline que vous souhaitez transférer vers le dépôt Git.
  4. Sur la page du pipeline, cliquez sur Actions > Transférer vers le dépôt.
  5. Saisissez un message de commit, puis cliquez sur OK.

Transférez les pipelines à partir du studio de conception de pipelines.

API REST

  1. Transférez un ensemble de pipelines depuis Cloud Data Fusion vers le dépôt 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"'
    

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: les noms des pipelines à transmettre.
    • COMMIT_MESSAGE: message de commit pour le Git valide.

    La réponse contient l'ID de l'opération d'envoi. Exemple :

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Pour interroger l'état de l'opération d'envoi, exécutez la commande suivante:

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

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • OPERATION_ID: ID d'opération reçu de l'opération d'envoi push.

    La réponse contient l'état de l'opération d'envoi. Exemple :

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

    Pour vérifier si l'opération d'envoi est terminée, vérifiez le done. dans la réponse. Si l'opération a échoué, vérifiez le error pour en savoir plus.

Extraire des pipelines du dépôt Git vers Cloud Data Fusion

Pour synchroniser plusieurs pipelines d'un dépôt Git vers votre espace de noms, procédez comme suit : étapes:

Console

  1. Dans Cloud Data Fusion Studio, cliquez sur Menu .
  2. Cliquez sur Administrateur d'espaces de noms.
  3. Sur la page Administrateur d'espaces de noms, cliquez sur Gestion du contrôle des sources. .
  4. Recherchez le dépôt Git que vous souhaitez synchroniser, puis cliquez sur Pipelines de synchronisation.
  5. Cliquez sur l'onglet Dépôts pipelines. Tous les pipelines stockés dans le dépôt Git sont affichés.
  6. Recherchez et sélectionnez les pipelines que vous souhaitez extraire de la dans votre espace de noms Cloud Data Fusion.
  7. Cliquez sur Extraire du dépôt.

    L'opération d'extraction démarre et un message s'affiche pour indiquer que les pipelines sélectionnés sont extraits du dépôt distant. Cloud Data Fusion recherche les fichiers JSON sous le chemin d'accès configuré. les extrait et les déploie en tant que pipelines vers Cloud Data Fusion.

Extraire des pipelines du dépôt Git vers Cloud Data Fusion

Lorsque l'opération d'extraction est terminée, un message de réussite est indiquant le nombre de pipelines extraits un dépôt distant.

Si l'opération d'extraction échoue, un message d'erreur s'affiche. Pour afficher les les détails de l'erreur, développez le message d'erreur.

Vous pouvez également extraire des pipelines individuels d'un dépôt Git vers un espace de noms. du studio de conception de pipeline:

  1. Dans Cloud Data Fusion Studio, cliquez sur Menu .
  2. Cliquez sur Liste.
  3. Cliquez sur le pipeline que vous souhaitez extraire du dépôt Git.
  4. Sur la page du pipeline, cliquez sur Actions > Extraire du dépôt

Extraire des pipelines à partir du studio de conception de pipelines

API REST

  1. Extrayez un ensemble de pipelines du dépôt Git vers 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"]}'
    

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: les noms des pipelines à extraire.

    La réponse contient l'ID de l'opération d'extraction. Exemple :

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Pour interroger l'état de l'opération d'extraction, exécutez la commande suivante:

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

    Remplacez les éléments suivants :

    • NAMESPACE_ID: ID de l'espace de noms.
    • OPERATION_ID: ID d'opération reçu de l'opération d'extraction.

    La réponse contient l'état de l'opération d'extraction. Exemple :

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

    Pour vérifier si l'opération d'extraction est terminée, vérifiez le done. dans la réponse. Si l'opération a échoué, vérifiez le error pour en savoir plus.

Supprimer la configuration du dépôt Git

Pour supprimer la configuration du dépôt Git d'un espace de noms, procédez comme suit:

Console

  1. Dans Cloud Data Fusion Studio, cliquer sur Menu.
  2. Cliquez sur Administrateur d'espaces de noms.
  3. Sur la page Administrateur d'espaces de noms, cliquez sur Gestion du contrôle des sources. .
  4. Pour la configuration du dépôt Git que vous souhaitez supprimer, cliquez sur > Supprimer.

API REST

Supprimez la configuration du dépôt Git:

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

Remplacez NAMESPACE_ID par l'ID de espace de noms.

Étape suivante