Contrôle de version efficace dans Qlik: exploiter la puissance de GitHub

Le contrôle de version est un aspect essentiel du développement logiciel, car il permet aux équipes de collaborer efficacement et de gérer les modifications du code au fil du temps. Dans le contexte de Qlik Cloud, le contrôle de version devient encore plus important, puisqu’il permet aux utilisateurs de suivre les changements apportés à leurs modèles de données, visualisations et autres actifs, de manière centralisée et sécurisée.

Une façon de mettre en place un contrôle de version dans Qlik Cloud consiste à utiliser Qlik Application Automations et GitHub, une plateforme populaire pour l’hébergement et le partage de dépôts de code. En exploitant les automatisations, les utilisateurs peuvent rationaliser le processus de validation des changements dans leurs projets Qlik Cloud et leur envoi vers GitHub, tout en s’assurant que leur code est correctement testé et validé avant d’être fusionné dans la branche principale.

Dans cet article, nous explorerons les avantages du contrôle de version dans Qlik Cloud, ainsi que les étapes spécifiques de la configuration des automatisations et de leur intégration à GitHub, et la manière dont un tableau de bord pourrait contrôler toutes les automatisations depuis une application Qlik. Nous aborderons également les bonnes pratiques pour gérer les modifications de code et collaborer efficacement avec les autres membres de l'équipe.

Pour l’organisation du flux de travail, nous suivrons les principes de Gitflow. Ici, nous avons une branche principale pour stocker l’historique officiel des versions, une branche de développement pour l’intégration des nouvelles fonctionnalités et une branche dédiée pour chaque fonctionnalité.

Image
Gitflow


Dans cet aperçu, nous allons illustrer le processus à l'aide d'une application de tableau de bord. Cette application permet aux utilisateurs d'exécuter plusieurs automatisations avec un seul outil. Elle fournit également des informations complémentaires sur le composant GitHub

Flux à l'aide d'une application de tableau de bord 

Étape 1 : Copier à partir de la version DEV

À l'étape 1, commencez par la version la plus récente de l'application que vous souhaitez développer. Créez alors un duplicata de l'application que vous souhaitez développer dans Qlik. Cet exemple fonctionnant uniquement avec le script de chargement d'une application, le développeur peut ainsi également visualiser le front-end. 

Image
Copy dashboard page

Vous devez saisir l'identifiant de l'application et donner un nom à la nouvelle branche à créer. L'automatisation utilisée créera automatiquement une branche distincte dans GitHub pour cette fonctionnalité spécifique. Un bouton GitHub vous redirige directement vers le dépôt GitHub.

Une fois les deux champs renseignés, copiez l'application en cliquant simplement sur le bouton « Créer une application de fonctionnalité ». Une copie de l'application sera alors disponible dans un espace partagé spécifique. Ce bouton active l'automatisation suivante: une base pour les automatisations utilisées dans cet exemple est déjà disponible dans Qlik. Ces automatisations ont été modifiées pour fonctionner avec l'application de tableau de bord.

Image
Copy automation

 À ce stade, vous êtes prêt à développer et à apporter des modifications au script.

Étape 2 : Pousser le développement sur GitHub

Une fois que vous êtes prêt à développer, passez à l'étape 2 : Pousser le développement vers GitHub 

Image
Push dashboard page

Comme vous pouvez le constater sur le tableau de bord, il vous suffit de renseigner l'ID de l'application sur laquelle vous travaillez et de cliquer sur le bouton. Vous pouvez également utiliser le menu déroulant pour sélectionner l'application. Le script de chargement de l'application est alors automatiquement validé dans la branche de fonctionnalité correspondante. 

Étape 3 : Demande d'extraction et attente d'approbation

Pour les étapes suivantes, accédez à GitHub via le bouton. L'étape 3 du tableau de bord ne propose aucune fonctionnalité, si ce n'est une brève explication des opérations à effectuer sur GitHub. Elle n'est donc pas présentée dans cet aperçu.

Dans GitHub, vous allez créer une pull request. En créant une pull request, Qlik Automation se déclenche automatiquement et crée une application temporaire. Elle vérifie si le nouveau script de chargement est toujours en cours d'exécution et ajoute un commentaire à la pull request. L'ajout de balises à vos applications vous permet même d'ajouter des tests supplémentaires. 

Une fois la pull request créée, l'étape suivante consiste à fusionner les modifications dans la branche de développement. Un membre de l'équipe doit vérifier les conflits de fusion entre les pull requests et procéder à la fusion manuellement. Ainsi, il existe une dernière ligne de contrôle. Une fois la pull request fusionnée, Qlik Automation récupère automatiquement la dernière version du script de chargement et la charge dans l'application de développement dans Qlik. L'application de développement est alors à jour. 

Comme l'application DEV est désormais entièrement à jour et a été testée, elle peut être publiée manuellement dans Qlik dans l'espace géré.

Bonnes pratiques et règles

Certains éléments doivent néanmoins être pris en compte au sein de l'équipe utilisant ces automatisations et suivant ce flux. Une bonne pratique pourrait être de désigner une seule personne responsable de la partie GitHub de ce flux. Les développeurs ne devraient pas pouvoir fusionner leurs propres pull requests. 

Ensuite, il est important d'établir des conventions de nommage pour les applications et les branches de fonctionnalités. Par exemple, l'application devrait toujours commencer par « F_ », la branche de fonctionnalité devrait être le nom de l'application suivi de « ..._feature X ». Vous pourriez également opter pour des règles concernant l'ajout de commentaires aux pull requests afin de fournir plus d'informations à la personne responsable de la fusion. 

Ce ne sont que des suggestions, mais des règles bien définies pourraient faciliter la compréhension de ce flux pour toute l'équipe. 

Conclusion

En conclusion, la mise en place d’un contrôle de version efficace dans Qlik Cloud grâce à GitHub et aux automatisations peut considérablement améliorer la collaboration et simplifier la gestion des modifications du code. En suivant les principes de Gitflow et en utilisant une application tableau de bord pour exécuter plusieurs automatisations, les équipes peuvent s’assurer que leur code est correctement testé et validé avant d’être fusionné dans la branche principale. Toutefois, il reste important d’appliquer de bonnes pratiques de gestion des changements et de collaboration, comme la désignation d’une personne responsable de la partie GitHub et la définition de conventions de nommage pour les applications et branches de fonctionnalités. En suivant ces recommandations, les équipes peuvent garantir un processus de contrôle de version efficace, sécurisé et performant.