Jenkins :
Développement de la CI/CD pour les équipes projets en Inde
Implémentation de nouvelles fonctionnalités en Groovy dans la librairie partagée
Cyberark :
Gestion des « credentials » sous Cyberark depuis Jenkins
Python :
Développement de scripts python pour la CI/CD
Ansible :
Déploiement des applications projets depuis Jenkins
Artifatory:
Stockage des « artifacts » sous Artifactory depuis Jenkins
SonarQube:
Mise en place de « Quality Gate » dans les pipelines Jenkins
GITLAB ( +100 utilisateurs, +500 projets) :
Implémentation de script Bash afin de gérer la migration des dépôts existants vers GITLAB
Migration des dépôts sans interruptions de service
Définition d’un Workflow GIT basé sur les Merge Request GITLAB
Amélioration de la qualité des livrables grâce aux pipelines des Merge Request :
Réimplémentation de certaines fonctions Gitlab payantes grâce au script lancé par la CI
Vérification du Build des modules avant de donner l’autorisation de « Merge »
Lancement des outils d’analyse statique de code
Publication automatique de la doc dans les projets GITLAB grâce à Pages
Execution automatiques des tests par la CI et publication des résultats JUNIT dans les projets GITLAB
Lancement de tests automatiques sur cible
Génération automatique d’Image Docker depuis la CI
Rédaction d’un manuel utilisateur détaillé afin de faciliter la transition des utilisateurs vers GITLAB
Formation des développeurs à l’utilisation du nouveau Workflow
Assurer le support GIT & GITLAB
Jenkins :
Création et maintenance des pipelines Jenkins
Optimisation des temps de build Android dans les conteneurs Docker
Archivage automatique des artifacts sous Nexus
Personnalisation des pages de build Jenkins avec le plugin Badge
Connexion au cluster kubernetes
Docker :
Création automatique des images Docker grâce à la CI Gitlab
Virtualisation des environnements de build Android dans des conteneurs personnalisés
Utilisation de Docker Compose afin de faciliter le démarrage des conteneurs
Kubernetes :
Portage des « builders » existants dans le cluster Kubernetes afin de mutualiser les ressources
Gestion de la qualité de service des PODs
Supervision du cluster avec Prometheus
GITLAB :
Evaluation de l’adéquation de la CI avec les besoins du service
Définition du workflow Git
Gestion automatique des droits sur les différents types de branches : développements, intégrations, releases
Génération automatique des CHANGELOGS à partir des descriptions des Merge Request
Incrémentation automatique des versions des projets impactés
Préparation automatique du nouveau cycle de release (création de la nouvelle branche d’intégration,
basculer les nouvelles versions en mode SNAPSHOT, …)
Installation automatique des outils nécessaire lors de la compilation des dépôts.
Gestion de différents types d’environnement de build avec la CI :
Software: VxWorks
FPGA: Vivado
Control: Matlab
Gestion du rollback de la branche d’intégration sous Gitlab
Gestion du build et de la livraison d’artifacts avec Maven
Création automatique des Release Note sous Gitlab
Développement de script groovy s’interfaçant avec GiItlab grâce aux APIs REST
Déploiement d’applications sur le terrain (+100 000 terminaux de paiement bancaire)
Développement en C de l’agent embarqué chargé de mettre à jour le système complet sur le terrain
Implémentation du protocole utilisé pour piloter le système embarqué lors de sa mise à jour
Implémentation de la procédure de mise à jour sur les terminaux (gestion des redémarrages)
Réalisation de tests poussés avant deploiement sur le terrain de l’agent de mise à jour
Intégration Continue:
Intégration continue des sources avec GIT sous BITBUCKET
Gestion des développements dans des branches GIT associées aux tickets JIRA
Relecture de code sous CRUCIBLE
Développement des scripts JENKINS permettant la génération automatique des livrables
Inspection automatique du code avec SONARQUBE
2005-2017 : Développeur embarqué chez GEMALTO
Création d’une distribution Linux embarquée pour les terminaux de paiement bancaire
Compilation/personnalisation du noyau Linux pour une architecture ARM
Développement de pilotes pour le noyau Linux
Personnalisation des scripts de démarrage du système
Gestion système des interfaces USB, Ethernet, WiFi, Bluetooth
Développement d’un système de tests automatique :
Implémentation des suites de tests en C
Compilation et lancement automatique des tests sur les dernières sources
Génération automatique du rapport de tests journalier
Intégration de briques logicielles « open-source » :
Portage d’outils GNU et différents utilitaires (binaires, bibliothèques, …)
Définition d’un workflow Git et formation utilisateurs
Migration automatique des projets Git existants vers Gitlab
Developpement complet des pipelines CICD
Developpement des « sanity check » dans la CI (Ticket JIRA à jour, règle de codage, …)
Publication automatique de la documentation des projets grâce à Gitlab Pages
Développement des scripts de maintenance basés sur les APIs REST (Config auto des projets, …)
Redaction d’un manuel utilisateur détaillé sur l’utilisation de Gitlab
GKE:
Création d’un cluster Kubernetes capable d’exécuter les builds de la CI Gitlab
Optimisation des coûts du cluster grâce à l’autoscaling
GCP:
Stockage des artefacts produits par la CI Gitlab dans des Buckets/Artifact Registery
Script de création/décomission automatisé de VMs avec la CLI gcloud
SonarQube/SonarCloud:
Mise en place de « Quality Gate » dans les pipelines Jenkins et Gitlab
Jenkins ( +30 jobs) :
Migration de tous les jobs « freestyle » vers un pipeline centralisé avec librairies partagées
Personnalisation des pages de build avec le plugin « Badge »
Virtualisation des environnements de build Android dans des conteneurs Docker personnalisés
Optimisation des temps de build Android en RAMFS
Ansible:
Déploiement automatisé d’applications depuis Jenkins
Terraform :
Déploiement automatisé de VMs sur GCP
Artifatory:
Stockage des artefacts de build sous Artifactory depuis Jenkins
Kubernetes :
Migration de l’écosystème des builders : N Jenkins/N builders → 1 Jenkins / 1 cluster de builders
Migration de la CI Gitlab sur Kubernetes
Gestion de la qualité de service des PODs
Docker :
Création automatique des images Docker grâce à la CI Gitlab
Utilisation de Docker Compose pour faciliter le démarrage des conteneurs
Programmation:
Création de scripts d’automatisation/administration en Bash, Python, Groovy
Création et maintenance d’une distribution Linux embarquée sur architecture ARM
Développement de drivers Linux (I2C, SPI, 1Wire, ...)
Logiciel :
Développement en C d’applications système embarquées
Développement en Bash des scripts systèmes embarqués
Infrastructure PKI (Public Key Infrastructure) :
Utilisation des clefs privées/publiques et certificats (applications bancaires)
Gitlab:
Définition des Workflow GIT
Création des pipelines de build multi-projets (Validation de la chaîne complète des dépôts)
Mis en place de procédures afin de faciliter et accélérer le travail des développeurs
Support utilisateurs
GKE :
Création d’un cluster afin d’exécuter les pipelines Gitlab
Configuration des VMs
Optimisation des coûts du cluster grâce à l’autoscaling
GCP :
Post automatique des artefacts produits par la CI sur des Buckets/Artifact Registry
Script de création/décomission automatisé de VMs avec la CLI gcloud
SonarCloud :
Mise en place de « Quality Gate » sur les MRs et les branches principales