Comment mettre en œuvre l’intégration continue avec 4D : Un guide pas à pas

Dans le monde du développement logiciel, un nouveau concept est apparu ces dernières années, celui de l’ « intégration continue » (CI). La définition que l’on voit ou entend partout est la suivante :

« La CI est un processus qui automatise la compilation, les tests et la livraison d’une application de façon régulière et fréquente. »

Après avoir compris cette définition, qui exprime un processus intéressant et prometteur, que dois-je faire pour l’implémenter dans 4D ? Si vous faites des recherches sur Internet, vous constaterez qu’il existe de nombreux outils et frameworks de CI.

Cependant, il existe plusieurs conditions préalables à l’utilisation de ces outils de CI.

Étape 1 : Convertir une application 4D en projet

Pour mettre en œuvre la CI dans 4D, vous devez d’abord convertir votre application 4D en projet. Il s’agit de migrer vers le mode projet si votre application est actuellement en mode binaire. Lors de la conversion, le fichier binaire « .4DB » est divisé en plusieurs grands fichiers texte, qui peuvent ensuite être placés dans le contrôle de source.

Vous pouvez trouver toute une série de blogs expliquant les concepts du mode projet :

 

Ou suivez ces formations 4D:

Étape 2 : Utiliser un système de contrôle des sources

La gestion de votre code à l’aide d’un système de contrôle de version tel que Git est essentielle pour une mise en œuvre réussie de la CI.

Dans un premier temps, si vous souhaitez tester et expérimenter un système de contrôle des sources, vous pouvez essayer GitHub. Il vous suffit de créer un compte sur GitHub pour pouvoir créer gratuitement votre propre dépôt privé ou public. Ensuite, en fonction de vos besoins, vous pouvez investir dans un serveur de contrôle de source tel que Git Lab, hébergé par votre organisation.

Pour commencer à utiliser Git et 4D, consultez ces articles de blog :

 

Un guide très détaillé explique les différentes façons de travailler avec 4D et le contrôle de la source, que ce soit au sein d’une équipe ou de manière autonome :

 

Nous vous recommandons également de jeter un coup d’œil à la keynote et à la session en petits groupes du 4D Summit 2020 :

 

En fonction du système de contrôle de source choisi, vous pouvez facilement trouver des formations adaptées à votre outil préféré.

Étape 3 : Compiler ou construire des applications sans interface

Une méthode ou une fonction doit être conçue pour compiler et construire votre application sans interface et sans intervention de l’utilisateur. Vous pouvez écrire vos méthodes en utilisant les commandes Compiler projet ou Build Application.

Vous pouvez également utiliser le composant Build4D. Ce composant vous permet de construire une structure compilée, un composant, une application autonome ou une application Client/Serveur. Le composant et son code source sont disponibles sur GitHub sous la licence MIT. Cela signifie que vous pouvez l’utiliser gratuitement, faire un fork sur GitHub pour le modifier à votre guise si vous avez des besoins particuliers, et l’utiliser sur vos installations sans contrainte.

Voici une série d’articles de blog sur le composant Build4D:

Étape 4 : utiliser la ligne de commande pour exécuter le script

Une fois que vous avez écrit le script pour compiler et construire l’application, il ne vous reste plus qu’à l’exécuter à partir de la ligne de commande.

Vous pouvez passer plusieurs paramètres via la ligne de commande, tels que le chemin d’accès à 4D, le projet, etc. Vous pouvez également transmettre des informations spécifiques à votre code avec le paramètre « –user-param ».

Ressources précieuses pour l’exécution de la ligne de commande :

 

Et pour la journalisation des actions ou des erreurs :

Étape 5 : Automatiser les processus pour chaque livraison

La dernière étape consiste à lancer votre script pour chaque commit sur le serveur de contrôle de source. Si vous avez choisi Git comme contrôle de source, vous pouvez simplement utiliser les Git action. Vous pouvez utiliser la version classique de 4D Developer Edition ou le nouvel outil « tool4D » pour automatiser votre script.

tool4D est un outil spécialisé, conçu pour une exécution CLI en mode headless et optimisé pour l’automatisation des processus CI. tool4D s’exécute automatiquement en mode headless. Certaines fonctionnalités ne sont pas disponibles, telles que le serveur d’application, le serveur Web, le serveur SQL et les composants 4D Write Pro et 4D View Pro. Aucune licence n’est requise pour exécuter tool4D, ce qui vous permet d’automatiser facilement la compilation ou la construction sans avoir à installer une licence dans la machine virtuelle.

Pour en savoir plus sur l’utilisation des actions Git et de tool4D, consultez ces articles de blog :

 

Et suivez cette formation 4D:

Pour resumer

En conclusion, la mise en œuvre de la CI avec 4D peut améliorer de manière significative votre flux de développement. Commencez par vous convertir au projet. Ensuite, familiarisez-vous avec les concepts d’un système de contrôle de version. Écrivez les scripts pour compiler et construire votre application. Enfin, automatisez le processus à chaque validation.

Vous pouvez voir toutes ces étapes en détail dans cette formation (FR) de 90 minutes disponible sur 4D.

En suivant ces étapes, vous êtes prêt à plonger dans le monde passionnant de l’intégration continue (CI) !

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.