Jenkins & gestion de lots de livraisons

Marc ALLAIN · le 11/04/18 à 11:25

Bonjour,

j'ai une question sur le fonctionnement de Jenkins et la fameuse "intégration continue".

Nous allons passer notre plateforme en production avec pour l'instant 6 modules spécifiques.

Parmi ces 6 modules, un est particulièrement sensible et risque de nécessiter des mises en recette/prod assez rapprochées. Hors les autres modules vont continuer à être développés. Ma crainte est d'être obligé de livrer en production les dev en cours sur les autres modules alors qu'ils ne sont pas finalisés/validés.

Comment peut-on figer un module dans Jenkins, afin que le déploieemnt dne prennent pas en compte les versions suivantes, même si le build est OK  ?

Ou peut-on gérer des lots de livraison ?

Merci

Bonne journée

Marc

#1

C'est l'objet des branches, et en particulier des "feature branchs" cf: https://martinfowler.com/bliki/FeatureBranch.html.

En l'occurence, SVN gère assez mal les branches, mais avec Git, c'est plus facile (début de troll).

Benoît Dissert · le 11/04/18 à 11:32
#2

Bonjour et merci Benoît.

En effet, pas de chance, on a choisi SVN. Mais Jérémy nous a suggéré dernièrement de passer sur Git, on va sans doute effectivement faire cela rapidement. En effet, la gestion des braches danas SVN est bien galère !

Mais cela étant dit, je ne voyais pas la connection entre SVN & le déploiement, mais je crois que je viens de comprendre : le dépoiement ne prenannt que la branche principale, on est libre de développer et commiter sur des branches, ça fera le build mais ne remontera pas dans le déploiement (merci le schéma de Martin Fowler).

A tester et prendre en main.

Bonne journée

Marc

Marc ALLAIN · le 11/04/18 à 11:41
#3

Oui, je n'ai pas détaillé, mais comme sous Jenkins, on configure la branche depuis laquelle checkouter, les feature-branch ne sont pas prises en compte dans le pipeline principal.

Je vous encourage à passer vers Git, pour moult raisons, et tout simplement parce que c'est le sens de l'Histoire. Cela dit, attention à ne pas y aller trop vite, c'est un outil surpuissant, mais qui nécessite une courbe d'apprentissage certaine.

Un possibilité, pour gérer cette transition est d'envoyer une personne (voir toute l'équipe) suivre cette excellente formation : https://delicious-insights.com/fr/formations/git-total/

(si vous y allez, dites que c'est de ma part ;-) ).

Benoît Dissert · le 11/04/18 à 11:48
5 pts
Thomas LEGAT · le 11/04/18 à 12:19

C'est à vous directement dans Jenkins de créer autant de job que de branches que vous avez afin de reconstituer un build global qui va agrémenter vos différents jobs sélectionnés

0 pt