📩 Pourquoi je prĂ©fĂšre livrer sans douleurs avec la promotion d’artefacts ?

24 avr. 2025#  DevOps, livraison, mĂ©thodologie, architecture

C’est bon, votre serveur Nest.JS que vous testez sur l’environnement de DEV depuis quelques semaines marche au poil. Il suffit de cliquer sur un bouton pour le dĂ©ployer en PROD.

Sauf que voilĂ , vous utilisez la promotion de code et votre image DOCKER de votre pipeline est configurĂ©e en node:latest . C’est cette nuit que la version a Ă©tĂ© changĂ©e en v20 avec tous les superbes changements cassants cĂŽtĂ© dĂ©pendance crypto.

Tant pis ! Pourtant vous l’aviez pourant bien bien testĂ©e


C’est dommage, il aurait pourtant suffi d’utiliser le PACKAGE qui tournait bien en DEV et le dĂ©ployer, sans ne RIEN CHANGER.

Et je ne sais pas vous, mais sur mes diffĂ©rents projets, il y a toujours au moins deux grandes catĂ©gories d’environnements (DEV / PROD) et cela peut monter selon les besoins (UAT, STAGING, PRE-PROD
).

Chaque Ă©quipe ayant sa propre inertie, le dĂ©lai entre chaque Ă©tape peut se compter en jours. Alors si je dois re-tĂ©lĂ©charger Ă  chaque Ă©tape mes dĂ©pendances, compiler tout en croisant des doigts que l’environnement de BUILD n’ait pas bougĂ©, c’est la porte ouverte Ă  toute les fenĂȘtres.

Comment je faisais avant: la promotion de code

Je poussais sur une branche DEV, c’était parti pour l’INSTALL, BUILD, TESTS et DEPLOY en environnement de DEV.

Quand on voulait dĂ©ployer en prod, un petit coup de PR sur passage sur une branche RELEASE (PROD par exemple), puis c’était reparti pour INSTALL, BUILD, TESTS et DEPLOY en environnement de (PRE-)PROD

Dans cette approche, c’est la politique de changement de branche qui dĂ©fini le type d’artefact que je fais.

✅ Avantages

❌ InconvĂ©nients

Et maintenant, je prĂ©fĂšre la promotion d’artefact (vous savez, dĂ©ployer la MÊME chose en DEV & PROD)

Je garde toujours une politique de branche. Mais, je dĂ©corrĂšle le dĂ©ploiement de l’acte de pousser sur une branche.

Il s’agit de deux choses distincts. Le fait de pousser sur une branche dĂ©clenche le niveau maximal auquel un artefact peut aller.

Et comment ça se passe ?

Si la version est identifiĂ©e comme “Release”, et que c’est OK, on passe au niveau supĂ©rieur !

Un bug de régression critique est rencontré en PROD ?

Il suffit de cibler une version antĂ©rieure fonctionnelle et de lancer le RollbackÂ đŸ€˜
(bien sĂ»r, la gestion de version de la DB c’est un problĂšme tout entier que nous n’aborderons pas ici).

Le must du must: pourquoi un gestionnaire différent pour les artefacts de DEV & de PROD ?

Cela permet une meilleure gestion des droits d’accĂšs en fonction des Ă©quipes.

On peut appliquer des politiques diffĂ©rentes : par exemple, les artefacts de dĂ©veloppement peuvent ĂȘtre supprimĂ©s plus rapidement, tandis que ceux de production doivent ĂȘtre conservĂ©s plus longtemps pour garantir un rollback rapide.

✅ Avantages

Avec la promotion d’artefacts, nous savons exactement ce que nous dĂ©ployons. Rien n’est Ă  ajouter, tout y est. Un artefact qui fonctionne Ă  chaque Ă©tape de tests fonctionnera de la mĂȘme maniĂšre en production (sous rĂ©serve des diffĂ©rences d’environnement, mais cela ne DEVrait jamais arriver
 ou presque 😅).

On Ă©vite toute l’étape de BUILD & PACKAGE + rĂ©duction de certaines Ă©tapes du TESTS et du DELIVER (la promotion de l’artefact peut se faire cĂŽtĂ© gestionnaire d’artefacts directement) ce qui accĂ©lĂšre les cycles de livraison.

Chaque artefact est versionné et accessible, ce qui simplifie les audits externes.

Besoin de rĂ©aliser des benchmarks de sĂ©curitĂ©, de performance ou d’accessibilitĂ© sur une version prĂ©cĂ©dente ? Aucun problĂšme ! Tout est Ă  portĂ©e de main.

❌ InconvĂ©nients

En conclusion

Petit disclaimer de fin : il m’arrive de garder la promotion de code sur des projets encore jeunes avec un cycle de release encore naissant.
Quand un projet est encore en phase de BUILD, il s’agit d’une maniĂšre trĂšs rapide d’avancer. Surtout si l’entreprise chez qui je suis n’a pas encore de processus bien normĂ© en terme de RELEASE.

Mais, dans une phase de RUN oĂč la stabilitĂ© prime, j’ai beaucoup plus confiance dans la promotion d’artefacts.

photoCédric CHARIERE FIEDLER

Cédric CHARIERE FIEDLER

Architecte Web, QA & Perf
# APIFrontQAPerformanceCloud