Petites questions à propos de et des mises à jours.

Comment utilisez-vous Ansible pour gérer les mises à jour de vos logiciels et OS ?

Pour les mises à jour logiciels, utilisez-vous le playbook de déploiement ou un playbook à part ?

Effectuez-vous des vérifications et notifications ?

Un mécanisme de rollback ?

Il existe différentes solutions et je suis curieux de savoir comment vous faites et pourquoi vous le faites de cette façon.

N'hésitez pas à être généreux en détails.

De mon coté, c'est généralement le playbook de déploiement qui s'occupe de faire les mises à jour.

Plus précisément: À la tâche qui installe le paquet, ou qui télécharge l'image de conteneur, je précise la version souhaitée. En cas de changement de la tâche, ce qui signifie l'installation ou la mise à jour, j'utilise un handler pour démarrer ou redémarrer le service.

La version peut être:
* Un numéro précis, exemple 2.5.7
* Une branche, exemple 2.7.x
* La dernière version (mais c'est rare)

L'avantage est que je peux exécuter le même playbook régulièrement avec cron. Et le playbook est déclaratif plutôt qu'impératif.

Mais si le processus de mise à jour ce complexifie ? Par exemple avec des vérifications, des rollback, des redémarrages d'autres services, des notifications, etc ?

Mais certaines de ces actions, pas toutes, seraient aussi utiles en cas de première installation. Comment différencier les 2 situations, installation et mises à jour, pour adapter les tâches exécutées ?

Suivre

Je viens de découvrir que les "block" Ansible ont une section "rescue". Un block "rescue" est exécuté si une tâche du block précédent échoue.

Je me demande si je peux m'en servir pour du rollback.

Par exemple, la tâche qui installe ou met à jour le paquet notifie un handler nommé "restart XXX or rollback".

Ce hanler posséderait un "block" et un "rescue". Le "block" redémarre le service et vérifie qu'il est accessible. Le "rescue" s'occupe du rollback à l'ancienne version.

Et avant de mettre à jour, on récupère le numéro de version déployé dans une variable.

Qu'en pensez-vous ?

Inscrivez-vous pour prendre part à la conversation
Framapiaf

Le réseau social de l'avenir : pas de publicité, pas de surveillance institutionnelle, conception éthique et décentralisation ! Gardez le contrôle de vos données avec Mastodon !