Software bots (Louis FLÉCHAIRE - Paul JOUAN - Tanguy MAIRE AMIGOT - Ones CHERIF)#47
Open
Teris35740 wants to merge 3 commits into
Open
Software bots (Louis FLÉCHAIRE - Paul JOUAN - Tanguy MAIRE AMIGOT - Ones CHERIF)#47Teris35740 wants to merge 3 commits into
Teris35740 wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DevOps and bots : PR
Authors : Louis FLÉCHAIRE - Paul JOUAN - Tanguy MAIRE AMIGOT - Ones CHERIF
Contexte
Dans le cadre du module DevOps, nous avons dus configuré et intégré différents Software Bots afin d'automatiser les tâches répétitives, d'améliorer notre flux de travail et d'en apprendre davantage sur leur fonctionnement. L'objectif principal de ces ajouts est d'assurer une intégration continue fiable, de maintenir la sécurité de nos dépendances à jour et d'automatiser la communication.
Ce qui a été fait
Le Bot de mise à jour (Dependabot)
Ce bot scan notre projet pour trouver des dépendances obsolètes et crée des PR automatiques pour les mettre à jour.
.github/dependabot.ymlqui indique à GitHub l'écosystème à surveiller (ex:npmpour le front) et la fréquence.Le Bot de Vérification (Intégration Continue)
Un workflow GitHub Actions a été mis en place pour compiler le code et lancer les tests à chaque push. Cela empêche le déploiement de code défectueux.
Le Bot de Sécurité Docker (Trivy)
Nous avons ajouté un bot de sécurité pour analyser les images Docker de notre projet (notamment le backend Java) à la recherche de vulnérabilités et de failles connues (CVE).
aquasecurity/trivy-action. Il se lance à chaquepushoupull_request, construit l'image Docker de l'API, puis la scanne. S'il trouve une faille de niveauCRITICALouHIGH, il fait volontairement échouer le processus (grâce à l'optionexit-code: '1') et bloque l'intégration.Le Bot de Formatage (Prettier Polyglot)
Pour garantir un style de code propre et uniforme sur l'ensemble du projet, nous avons mis en place un bot de formatage.
.ts,.js,.java,.css, etc.). S'il détecte des problèmes de formatage, il les corrige et pousse directement un nouveau commit sur la PR avec le message"style: formatage auto (Angular & Java Maven)".Le Bot de Notification (Discord)
Pour garder l'équipe informée, un bot notifie un salon Discord du statut de l'intégration continue (succès ou échec).
Le Bot de gestion des Releases (Release Drafter)
Afin d'automatiser nos notes de version, ce bot analyse les Pull Requests fusionnées et génère automatiquement un changelog basé sur les labels (ex: bug, feature).
Comment ça marche : L'action se déclenche au merge et met à jour un brouillon de "Release" en lisant la configuration .github/release-drafter.yml.
Où voir les résultats des bots
Voici comment observer les bots :
Les vérifications CI & Sécurité : Allez dans l'onglet "Actions" sur GitHub pour voir les bots compiler le projet et scanner les images Docker avec Trivy lors d'un nouveau push.
Le formatage auto : Ouvrez une Pull Request avec du code mal indenté. Le bot Prettier s'activera et ajoutera automatiquement un commit de correction à votre PR.
Les mises à jour : Allez dans l'onglet "Pull requests". Dependabot y proposera ses améliorations de dépendances de façon automatisée.
Les alertes : Regardez le salon dédié sur Discord après avoir poussé du code sur GitHub pour recevoir les retours du bot de notification.
Les notes de version : Allez dans l'onglet "Releases" (à droite de l'accueil du dépôt) pour voir le brouillon (draft) de la version se générer tout seul suite à vos merges.
Ce que nous pouvons ajouter
Ajouter un bot d'analyse de qualité de code (comme SonarCloud).
Implémenter l'Auto-assignation pour attribuer automatiquement des relecteurs (reviewers) lors de l'ouverture d'une Pull Request afin de fluidifier la validation du code.