Dans ce deuxième épisode de la série Insum Insider intitulé « Gestion des sources et déploiements » enregistré le 2 juin dernier, les coanimateurs Francis Mignault et Patrick Monaco discutent de la gestion des sources avec Oracle APEX avec leurs invités Vincent Morneau et Hayden Hudson.
Description écrite de l’épisode
Francis débute la session en expliquant la raison d’être du Insum Insider.
1 :40 – Francis présente son co animateur Patrick et ils discutent de la gestion de sources avec Oracle APEX.
4 :05 – Francis présente Vincent et Hayden. Francis ouvre la discussion sur la gestion de sources et le déploiement d’applications APEX.
Vincent parle brièvement des expertises que possède Insum en développement APEX. Il explique qu’avec Hayden, ils illustreront un processus de meilleures pratiques de création d’un nouveau projet APEX et le suivi du fil de développement pour arriver à le déployer dans un environnement de test et éventuellement de production. Vincent souligne aussi que ce n’est pas la seule méthodologie pour en faire ainsi, mais que c’en est une bonne.
Vincent ajoute que cette méthodologie est disponible de façon « Open Source » ici sur GitHub et encourage les participants de l’utiliser.
Vincent et Hayden ont choisi pour leur démonstration GitHub, le service d’hébergement de Git.
Sondage des participants
Avant de commencer la démonstration, un sondage des participants fut réalisé sur la gestion de sources.
13 :25 – Les résultats ont démontré que 50% des participants utilisent Git comme outil de contrôle de leur source, suivi de 17% pour SVN. Enfin, 17% des personnes interrogées ont indiqué qu’elles n’utilisaient pas encore de logiciel de contrôle des sources, mais qu’elles envisageaient des options.
14 :05 – Vincent commente la gestion de « tickets » dans GitHub.
Un modèle de projet pour la gestion des sources
15 :30 – Vincent et Hayden décrivent le « Starter-project-template » d’Insum, un référentiel vide (« Blank Slate ») dans GitHub contenant des dossiers que vous utiliseriez normalement dans le contexte du développement APEX, mais qui sont vides. Il s’agit notamment de dossiers tels qu’APEX, packages, vues, triggers, versions, et bien d’autres. Tous les dossiers sont censés contenir du code appartenant exclusivement à un projet. Les dossiers contiennent également une documentation détaillée sur la façon de les utiliser. Enfin, ce modèle possède également des outils d’automatisation pour aider à créer des versions automatisées.
17 :30 – Vincent montre comment télécharger le « Starter-project-template »
18 :45 – Vincent invite Hayden à son projet.
Hayden assume le rôle de collaborateur au projet afin qu’ils puissent démontrer leurs interactions en direct alors qu’ils travaillaient ensemble dans le nouveau référentiel.
20 :15 – Hayden recommande aux participants de se référer au « Read me » du « Starter-project-template »
20 :5 – Vincent et Hayden expliquent la structure de leur référentiel en montrant certains dossiers clés.
28 :28 – Vincent explique l’automatisation des « release » (avec les fichiers release.js et release.sql)
Résolution de bogues
28:45 – Vincent montre comment assigner un bogue à Hayden et comment visualiser et valider le travail de Hayden avant de le pousser vers le référentiel.
Vincent contrôle la branche principale, ce qui lui donne un contrôle total sur le projet. Hayden crée une branche séparée pour protéger la branche principale, et fait ses corrections à l’intérieur de sa branche et le soumet son travail à Vincent.
Hayden ayant résolu le problème, crée une demande d’extraction (« pull request ») en incluant une balise de commentaire. Les nouveaux changements sont surlignés en vert. Vincent valide le correctif en examinant le contenu du commit de Hayden afin de valider la fusion dans la branche principale. Par la suite, la branche de Hayden est supprimée.
Améliorer la gestion des sources de projets APEX, avec APEXcl
37:35 – Vincent explique que dans le passé, de telles actions n’incluaient pas une vue sur le code d’APEX, et discute de l’outil d’Insum qui résout ce problème. Il s’agit d’APEXcl 40:30 – Vincent revient sur le concept d’automatisation des scripts afin de déployer des changements dans un nouvel environnement. Il en fait la démonstration avec les fichiers « release ».
46:27 – Début de l’explication sur APEXcl (voyez le produit sur https://apexcl.dev/ )
47 :05 – Vincent et Hayden refont leur démonstration de résolution de problème, mais cette fois en utilisant APEXcl afin de voir les changements effectués dans le code.
54 :35 – Vincent démontre le fonctionnement d’APEXcl.
Francis invite les participants a revenir le 16 juin pour une troisième session Insum Insider en Français avec Patrick Monaco et Luc Demanche qui portera sur le Cloud Oracle Gratuit.