Project

General

Profile

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.

Also available in: PDF HTML TXT