Je cherche à comprendre toutes les implications du passage de nos projets Java d'une politique Snapshot/Release à une promotion de build.
Une étape évidente est que chaque build crée un artefact qui peut aller jusqu'à l'environnement de production, donc il n'y a plus de Snapshot. Mais alors, comment gérer le lien d'un projet vers d'autres artefacts, qui peuvent ou non être autorisés à aller en prod ?
J'ai eu du mal à trouver des informations précieuses sur ce sujet particulier. Bien sûr, la promotion de build est beaucoup discutée, mais la gestion des dépendances à la lumière d'une migration vers la promotion de build est moins visible.
Je vois deux choix:
- On ne peut dépendre que des artefacts qui ont été précédemment promus vers l'environnement de production
- Lorsqu'on dépend d'autres artefacts, l'artefact construit ne peut aller qu'à l'environnement final de ses dépendances. Autrement dit, si je dépends d'un artefact autorisé à aller en test et non en prod, mon build ne pourra pas aller en prod.
Y a-t-il des normes de l'industrie concernant ce sujet ? Ou des bonnes pratiques ?
Merci beaucoup pour votre aide :)
modifications: Nous déployons sur Artifactory trois types d'artefacts :
-
Librairies
-
EARs
-
Les modules à l'intérieur des EARs. Certains de ces modules sont des couches "publiques" nécessaires à tout EAR qui souhaite interagir avec l'EAR actuellement construit
Nous déployons des EARs sur des serveurs JEE. Nos librairies et couches publiques sont déployées sur Artifactory et empaquetées dans les EAR, elles ne sont donc pas directement déployées sur les conteneurs JEE.
Un projet construit plusieurs modules, et tout est empaqueté dans un EAR, avec ses dépendances. Un projet peut dépendre d'un module d'un autre projet et c'est là que ça se complique...