Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Intégration avec Git (Bêta)

Dernière mise à jour :Aug 25, 2026

L'intégration Git synchronise le code et les configurations des jobs entre la console de développement Realtime Compute for Apache Flink et un dépôt Git distant (GitHub, GitLab ou Gitee). Utilisez cette fonctionnalité pour migrer du code depuis des environnements locaux, collaborer en équipe, appliquer des workflows de revue de code et conserver un historique des modifications prêt pour l'audit.

Cas d'utilisation

Cas d'utilisation Problème résolu Approche recommandée
Migration vers le cloud Poussez le code SQL Flink local vers un cluster Flink dans le cloud via Git, sans exportation ni importation manuelle. Après avoir récupéré le code, poursuivez le développement directement dans la console. La récupération ne modifie pas le dépôt Git.
Développement collaboratif Partagez et gérez les versions des brouillons de jobs et des configurations. Créez des branches de fonctionnalités (telles que feature/topic) pour le développement parallèle et les corrections de bugs, puis fusionnez-les dans la branche principale une fois les tests validés. Validez toutes les modifications du code SQL via Git et utilisez la console pour la récupération et la vérification. Gérez les branches Git pour maintenir la stabilité de la branche principale.
Assurance qualité et gouvernance des risques Utilisez les demandes de tirage (pull requests) pour la revue de code. Récupérez le code dans la console pour les tests. Suivez les modifications et identifiez les problèmes grâce à l'historique des validations. Validez toutes les modifications du code SQL via Git. Consultez régulièrement l'historique des validations pour assurer la traçabilité des changements.
Reprise après sinistre et conformité Git offre une sauvegarde distribuée contre la suppression accidentelle de fichiers. Les journaux Git constituent un registre vérifiable de toutes les modifications de la logique des jobs, conforme aux exigences d'audit. Poussez régulièrement les mises à jour du code SQL vers Git. Récupérez le code depuis Git si nécessaire. Utilisez les journaux Git pour suivre toutes les opérations essentielles.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un espace de travail Flink. Consultez Créer un espace de travail

  • Un accès à un dépôt Git distant (GitHub, GitLab, Gitee ou Alibaba Cloud DevOps)

  • L'accès Internet activé pour votre espace de travail Flink. Consultez Configurer l'accès Internet

  • (Pour les dépôts protégés par liste d'autorisation IP) L'adresse IP de votre espace de travail Flink ajoutée à la liste d'autorisation du dépôt

Limites

Contrainte Détail
Type de job pris en charge SQL uniquement
Autorisations Pour configurer l'intégration Git ou modifier une configuration existante, vous devez être le propriétaire du namespace ou un membre disposant d'autorisations équivalentes
Un seul dépôt par namespace Chaque namespace peut être lié à un seul dépôt Git et à une seule branche. Pour gérer plusieurs dépôts ou branches, créez des namespaces supplémentaires
Profondeur des dossiers Sept niveaux maximum. Les fichiers situés au huitième niveau ou plus profond ne peuvent pas être récupérés dans Flink
Synchronisation des fichiers JSON L'ajout ou la suppression de fichiers .json dans Git n'est pas répercuté dans la console. La modification des fichiers .json met à jour les configurations du brouillon SQL portant le même nom
Conflits de fusion Évitez de modifier le même fichier simultanément dans Git et dans la console. En cas de modifications concurrentes, Flink effectue une vérification des conflits lors de la poussée ou de la récupération et exige une résolution manuelle

Étape 1 : Associer un dépôt Git à un namespace

  1. Créez une connexion Internet et testez la connectivité. Ignorez cette étape si une connexion Internet existe déjà.

  2. Accédez à la console de développement.

    1. Connectez-vous à la console de gestion Realtime Compute for Apache Flink.

    2. Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.

  3. Configurez le dépôt Git pour le namespace.

    1. Dans le coin supérieur droit, cliquez sur l'image de profil, puis sélectionnez User Profile.

    2. Dans la colonne Actions de votre namespace, cliquez sur Git Config.

    3. Renseignez la configuration du dépôt Git.

      Champ

      Description

      Provider

      Le fournisseur Git. Valeurs valides : GitHub, GitLab, Gitee.

      Repository URL

      L'URL de votre dépôt Git. Elle doit commencer par HTTP ou HTTPS et se terminer par .git. Longueur maximale : 64 caractères.

      Username

      Nom d'utilisateur de votre compte Git. Le compte doit disposer des autorisations requises sur le dépôt cible.

      Personal Access Token

      Le jeton d'accès personnel (PAT) utilisé pour l'authentification.

      Pour obtenir des instructions, consultez Managing personal access tokens (GitHub) ou Personal access tokens (GitLab).

      Branch

      La branche à lier à ce namespace. Chaque namespace ne peut être lié qu'à une seule branche.

    4. Cliquez sur OK. Le dépôt Git et la branche sont désormais associés à votre namespace. Une fois la liaison réussie, la boîte de dialogue Git Config affiche l'URL du dépôt lié, le nom d'utilisateur, la branche et l'état de stockage du jeton d'accès personnel. Cliquez sur Unbind pour supprimer la liaison actuelle du dépôt. Pour basculer vers un autre dépôt ou une autre branche, cliquez sur Git Config afin de dissocier l'élément actuel, puis établissez la nouvelle liaison.

Étape 2 : Pousser ou récupérer les mises à jour

Opération Quand l'utiliser
Pousser les modifications Envoyez les modifications du code SQL et des configurations depuis la console vers le dépôt Git distant.
Récupérer les modifications Importez le code SQL ou les configurations de job depuis le dépôt Git distant vers la console.
Résoudre les conflits de fusion Corrigez les conflits détectés lors d'une poussée ou d'une récupération lorsque le même fichier a été modifié aux deux endroits.

Pousser les modifications

  1. Sur la page Development > ETL, cliquez sur Git - Push.

  2. Dans le champ Changes, examinez les ajouts (A), les modifications (M) et les suppressions (D). Cliquez sur une lettre pour afficher les différences.

  3. Saisissez un Commit Message et cliquez sur Commit And Push. Si la poussée est rejetée en raison de conflits, le système vous invite d'abord à récupérer les mises à jour depuis le dépôt distant. Après la récupération, résolvez tous les conflits de fusion, puis poussez à nouveau.

    La boîte de dialogue Git - Push contient les champs Repository URL et Branch, ce qui vous permet de confirmer la destination de la poussée avant la validation.

  4. Vérifiez les résultats dans votre dépôt Git. Chaque nouveau brouillon SQL poussé vers Git génère deux fichiers portant le même nom mais avec des extensions différentes : les mises à jour modifient le fichier .sql ou .json correspondant.

    • filename.sql — le code SQL.

    • filename.json — les configurations du job, incluant le nom du brouillon, l'ID du brouillon, le mode d'exécution et la version du moteur.

Récupérer les modifications

  1. Sur la page Development > ETL, cliquez sur Git - Synchronize Changes pour récupérer le dernier état depuis Git. L'heure de la dernière synchronisation s'affiche à droite de l'icône. Si elle n'est pas récente, cliquez sur l'icône pour actualiser. Si des mises à jour sont disponibles dans Git, l'indication Update Available apparaît à côté de l'icône de récupération.

  2. Cliquez sur Git - Pull.

    • S'il n'y a aucun conflit, passez à l'étape 3 pour consulter les résultats.

    • Si des conflits sont détectés, consultez la section Résoudre les conflits de fusion ci-dessous.

    Dans la barre d'état en bas de la page, lorsque la branche Git affiche main et que de nouvelles validations distantes sont détectées, un lien bleu Update Available apparaît. Cliquez sur ce lien (infobulle : Git - Pull) pour lancer une opération de récupération.

  3. Lorsque la page affiche Successfully pulled from the remote repository, la page ETL s'actualise et affiche les brouillons SQL récupérés. Après la récupération, le brouillon actuel est verrouillé par Git. Pour le modifier ou le supprimer, cliquez sur Click To Unlock.

    CREATE TEMPORARY TABLE test_source(
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );

Résoudre les conflits de fusion

Important

Realtime Compute for Apache Flink ne prend pas en charge la restauration globale. Avant de résoudre les conflits, sauvegardez les données critiques (par exemple, copiez example.sql localement) et évaluez l'impact opérationnel. Procédez avec prudence, car une mauvaise gestion des conflits peut entraîner des conséquences irréversibles.

  1. Sur le fichier concerné par le conflit, cliquez sur Resolve.

  2. Sur la page de résolution des conflits, sélectionnez le code conflictuel et choisissez l'action appropriée.

    Bouton Action
    Accept Current Change Conserve la version originale du code.
    Accept Incoming Change Applique la modification provenant du dépôt Git distant.
    Accept Both Changes Applique à la fois les modifications locales et distantes.
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_source(
    =======
    CREATE TEMPORARY TABLE nntest_source(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_sink(
    =======
    CREATE TEMPORARY TABLE nntest_sink(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH(
        'connector'='blackhole'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    INSERT INTO vvpntest_sink
    =======
    INSERT INTO nntest_sink
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
    SELECT *
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    FROM vvpnntest_source;
    =======
  3. Cliquez sur Mark As Resolved.

  4. Cliquez sur Continue.

Étapes suivantes