HowDoWeDoRelease¶
Dans l'ordre :
- traductions
- tag
- déploiement en recette
Traductions¶
whatever-manage makemessages --all
Puis faire les traductions, pousser sur main, attendre que Jenkins soit ok.
Tag¶
Un script est disponible dans le dépôt misc-fred, qui regarde le dernier tag posé, incrémente et envoie le nouveau tag,
~/..../misc-fred/bin/tag
Et aller dans jenkins pour demander un nouveau build du module (il est possible d'utiliser "Restart from stage" pour lancer uniquement l'étape de packaging).
Il y a un flag -b qui ouvre jenkins sur la bonne page (il faut que le navigateur par défaut de debian soit démarré avec déjà une session jenkins).
Ensuite, attendre que le build soit terminé, il aura envoyé la nouvelle version du module dans le dépôt "entrouvert-testing".
Enfin, il faut absolument enchaîner sur un déploiement : dans le cas contraire le module sera mis à jour au moment du déploiement d'autre chose par quelqu'un d'autre, ce qui constitue une surprise désagréable.
Bien sûr ça peut se faire manuellement, git tag -a vX.Y -m '...'; git push origin vX.Y
, il faut alors bien toujours assurer que le nom du tag soit conforme (supérieur au précédent et avec le même nombre de composants).
Déploiement¶
Le script eoptasks permet de lancer des commandes sur tous les serveurs, dans le cadre d'une mise à jour des serveurs de test, on pourra utiliser :
~/..../eoptasks/eoptasks.py -k test/publik apt.upgrade
Ça utilise tmux pour fournir un accès aux différentes sessions ssh, pour une navigation basique, ctrl-b w permet de lister les différentes sessions.
Si besoin de se rassurer¶
On peut vérifier la liste des machines qui seront mises à jour en passant l'option -l
à la commande précédente.
On peut vérifier au préalable qu'on a bien les accès partout en faisant
~/..../eoptasks/eoptasks.py -k test/publik ls
Hotfixes¶
Si la mise à jour corrige un bug sur les serveurs de production, il faut se référer à la page HowDoWeDoHotfixes.