svn : post-commits

La principale t√Ęche des post-commit est la mise √† jour d’un dossier de destination (souvent un site web de d√©veloppement).

Scripts de mise √† jour d’un dossier DEST

Les méthodes de mise à jour se divisent en deux types :

– celles qui n√©cessitent que le dossier de destination soit une working-copy. Le script le plus courant est un simple ¬ę¬†svn up¬†¬Ľ depuis le dossier DEST.

Рcelles qui ne nécessitent pas que le dossier DEST soit une working-copy.
Plusieurs solutions sont possibles :
– la plus courante est de mettre en place un ¬ę¬†rsync <repository> <dossier DEST>¬†¬Ľ (attention, cela implique que le repository utilise le stockage de type FSFS¬†!).
Р faire un svn:export sur les fichiers modifiés.
– des architectures un peu plus compliqu√©es existent dans le cas des repositories en Berkeley DB : 1/ ¬ę¬†svn up¬†¬Ľ d’un dossier interm√©diaire => 2/ rsync vers dossier DEST.

Nous conseillons vivement d’opter pour un dossier DEST qui ne soit pas une working-copy. En effet, en utilisant ce syst√®me, il devient risqu√© de faire des modifications directes dans le dossier DEST. Si l’on a modifi√© directement les fichiers, le post-commit ne fonctionnera plus car la working-copy contiendra des modifications non commit√©es !

Avec un rsync, il devient tout √† fait possible de modifier sans risque directement le dossier DEST. Les modifications effectu√©es seront √©cras√©es lors du prochain commit. Il n’y a plus de risque li√© au statut de la working-copy : une modification par erreur dans le dossier DEST ne peut pas bloquer le post-commit.

Ressources

Quelques sources officielles pour la mise en oeuvre de post-commits sur un repository svn :
http://subversion.apache.org/faq.html#website-auto-update

Autres sources :
http://clher.fr/index.php?option=com_content&view=article&id=23:quelques-infos-utils-sur-svn&catid=3:softs&Itemid=4

Mise à jour automatique de site à chaque commit

Рsolution alternative : faire un svn:export sur les fichiers modifiés ! => http://fr.w3support.net/index.php?db=so&id=446518

Ce contenu a été publié dans gestion de projet web, Version Control Systems (VCS), avec comme mot(s)-clé(s) . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *