Cette procédure est conçue pour le cas suivant :
- une version x.y.z est déployée en production
- cette version contient un bug
- des commits de développement ont été pushés sur le repository entre la version en prod et la date actuelle (si ce n’est pas le cas, il suffit de commiter le fix et de faire une nouvelle version patch standard)
La version en prod x.y.z correspond nécessairement à un tag du source-control (sinon, y’a eu un raté!).
git checkout app-name_x.y.z
A partir de là, en dev, on est iso-prod: le bug doit pouvoir être reproduit, et le fix nécessaire développé.
Créer une nouvelle branche “x.y” (sans le z, qui justement correspond aux versions patch).
git branch x.y
git checkout x.y
Développer le fix et commiter/pusher (ca le fera sur la branche).
Tagger une nouvelle version avec un numéro de patch supérieur: le pipeline CI devrait construire et déployer l’image corrigée.
Après le déploiement du fix, il convient de copier le commit de fix sur la branche ‘main’ afin que celle-ci profite également de la correction.
Un moyen simple est le cherry-picking. Noter le hash du commit (visible via git log, ou sur Gitlab), puis, en repassant sur la main:
git checkout main
git cherry-pick <commit-hash>
git push
