Script de mise en prod : tag de sources dans CVS
11 02 2010
Complément important de mon script de mise en production, le tag des sources dans le repository CVS. CVS est un gestionnaire de sources, qui permet de stocker les différentes versions du code source. Il est donc intéressant de temps en temps, de placer des repères sur toutes ces sources, en particulier, lors d’une mise en prod. Cela permettra de récupérer l’ensemble des sources telles qu’elles étaient lors d’une mise en ligne donnée.
Rien de bien compliqué avec Ant, on va juste ajouter quelques instructions à la target deploy_end, qui rétablit l’accès au site une fois la mise à jour de la base (manuelle…) effectuée.
<tstamp>
<format property="tag_date" pattern="yyyy-MM-dd" />
</tstamp>
<echo message="Tag des repository CVS : prod_${tag_date}" />
<cvspass cvsroot="${CVSROOT}" password="${CVS_PWD}" passfile="./.cvspass" />
<cvs cvsRoot="${CVSROOT}"
command="rtag -R prod_${tag_date} ${CVS_MODULE}"
failonerror="false" quiet="true" reallyquiet="true" />
<cvs cvsRoot="${CVSROOT}"
command="rtag -R prod_${tag_date} ${CVS_MODULE_ENV}"
failonerror="false" quiet="true" reallyquiet="true" />
La directive tstamp permet d’obtenir la date courante au format spécifié par l’attribut pattern et la placer dans une propriété tag_date utilisable ensuite, comme ici pour le nom du tag.
La directive cvs exécute la “command” spécifié : rtag -R prod_${tag_date} ${CVS_MODULE}. Ce qui veut dire en français : place le tag prod_2010-02-10 sur le projet nommé par la propriété CVS_MODULE. Il y aura donc autant de commande cvs que de projets à tagguer.











Commentaires récents