Le projet
- Auditer l’existant et définir l’architecture cible : analyser les pratiques de développement, de compilation, de tests et de livraison, puis proposer une architecture CI/CD progressive, adaptée aux contraintes de l’environnement IBM i.
- Mettre en place la gestion des sources sous Git : organiser la migration des sources existantes depuis les fichiers physiques sources (PF-SRC) vers Git via l’IFS, définir la stratégie de branches et accompagner les équipes dans l’adoption des nouvelles pratiques.
- Automatiser les processus de build et de test : industrialiser la compilation des programmes RPG free-form, CL et SQL, mettre en place des tests unitaires avec iRPGUnit et des tests de contrat API, puis fiabiliser les contrôles avant livraison.
- Automatiser les déploiements : concevoir et mettre en oeuvre des pipelines de livraison entre les différentes partitions IBM i, incluant les objets applicatifs, les services IBM i Web Services (IWS) et les API publiées via Azure API Management.
- Faire évoluer la chaîne de livraison existante : évaluer l’outil interne de gestion des livraisons afin de déterminer s’il doit être intégré aux pipelines CI/CD ou remplacé par une solution plus adaptée.
- Assurer la traçabilité et le pilotage : mettre en place des indicateurs de qualité, de fiabilité et de performance des livraisons, garantir la traçabilité des changements et sécuriser les procédures de retour arrière.
- Accompagner le changement : documenter les processus et les bonnes pratiques, former les développeurs et les équipes d’exploitation, et favoriser l’adoption progressive de la démarche CI/CD.
Profil recherché
- Environnement IBM i : bonne maîtrise des objets, bibliothèques, IFS, fichiers sources, commandes CL, gestion des travaux et gestion des droits.
- Développement : capacité à lire et comprendre du RPG, idéalement en free-form, ainsi que des programmes CL et SQL, afin d’analyser et d’automatiser les processus de compilation et de test.
- CI/CD et gestion de versions : pratique de Git et d’au moins un outil d’intégration et de déploiement continus, tel que Jenkins, GitLab CI, GitHub Actions ou Azure DevOps.
- Scripting et automatisation : maîtrise du scripting en shell/PASE, Python ou langage équivalent pour automatiser les traitements et orchestrer les pipelines.
- Bases de données : bonne connaissance de SQL et de DB2 for i.
- Services et API : connaissance des services web IBM i, notamment IWS et REST, ainsi que des principes de publication et de gestion des API avec Azure API Management.
- Connaissance des outils de build et de gestion des changements sur IBM i : Bob, ARCAD, iBuild ou Make.
- Expérience des tests unitaires RPG, notamment avec iRPGUnit, et des tests automatisés d’API.
- Pratique de VS Code for IBM i et/ou Rational Developer for i.
- Connaissances en conteneurisation, infrastructure as code ou automatisation avec Ansible.
- Sensibilisation aux enjeux de sécurité, de conformité, de séparation des tâches et d’auditabilité des mises en production.
- Expérience de migration de sources IBM i vers Git et d’accompagnement à l’évolution des pratiques de développement.
- Anglais technique permettant de comprendre la documentation et les ressources spécialisées.