Ces derniers jours je suis en train de voir pour remplacer mon reverse proxy perso qui était resté en haproxy, déplacé dans un container à la va vite..
J'ai donc commencé à expérimenter traefik et ça semble faire le boulot. J'aime beaucoup le côté dynamique avec les labels sur les containers.
Il remplit tous les rôles de mon haproxy :
Autre avantage, il intègre la génération/renouvellement des certificats ssl ce qui va me permettre de virer un vieux script en bash (qui faisait ça très bien, mais au moins ce sera + clean)
Seule contrainte, je me demande si je peux reverse vers un backend qui ne serait pas du docker. Peut être en mettant de la conf en dur.
un container qui va update les autres containers si une image plus récente a été trouvée (stop, rm, pull, recreate)
Pratique sur serveur perso pour les choses qui tournent en latest
Implémentation en Go, il y a le pendant python ici : https://github.com/pyouroboros/ouroboros
dans un Dockerfile : ENTRYPOINT + CMD
chez k8s : command + args
Je cherchais à déployer le même build sur un env de preprod et ensuite sur la prod si le build est ok
Ce qui se fait très bien "à l'ancienne" avec Jenkins/Bamboo :
Je ne retrouvais pas cette logique dans les outils plus récents car le deploy est toujours lié au build donc je ne voyais pas comment faire..
La clé est dans la possibilité de pouvoir arrêter un job, de le mettre en pause pour pouvoir le déclencher plus tard si on le souhaite
Donc pour un commit push sur un master, le workflow va se déclencher...
Si on voit que tout est ok sur preprod, on peut venir resume le deploy prod ! on va utiliser le même build qu'on a testé sur la preprod
C'est le même principe, on veut check la preprod avant de déployer la prod en utilisant le même build, mais implémenté différement
L'équivalent chez circleci :
https://circleci.com/blog/manual-job-approval-and-scheduled-workflow-runs/
https://circleci.com/docs/2.0/workflows/#holding-a-workflow-for-a-manual-approval
Et chez Jenkins (récent) :
https://jenkins.io/doc/pipeline/tour/deployment/#asking-for-human-input-to-proceed
/me découvre
via itweb