Les outils qui vont être utilisés sont déjà selectionnés et installés. Nous allons maintenant vérifier que tout fonctionne bien en créant un premier projet. La régle principale que je me fixe quand je dois créer un projet est que l’ensemble de la chaine de production doit être fonctionnelle avant tout développement à proprement parler. Cela siginifie que le dépot de source, le système de build et de reporting doivent être en parfait état de marche.
Dans le cas de notre environnement il s’agit de vérifier que Subversion, le mécanisme de build maven 2 couplé au système d’intégration continue Continuum sont pleinement fonctionnels.
L’installation de Subversion via le gestionnaire de paquet constituent seulement le dépaquetage du logiciel. Il faut encore créer un « repository » ou dépôt de source puis paramétrer le serveur pour permettre l’accès à ce dépôt en distant. N’oublions pas que nous créons notre environnement de développement dans l’optique d’être un environnement ressemblant le plus possible à celui utilisé dans une équipe de plusieurs personnes. Pour cela nous commençons par créer le dépôt de sources en ouvrant une console et tapant la commande suivante
mkdir /home/thierry/repository/svn/default
Bien entendu vous aller utiliser le chemin qui correspond le mieux à votre besoin. Dans mon cas je veux seulement un repository dans mon répertoire personnel.Puis il faut initialiaser ce dépôt par la command :
svnadmin create /home/thierry/repository/svn/default
Puis il faut paramétrer le démon svnserve pour rendre ce repository accessible en distant. Cela passe par la création d’un fichier de /etc/init.d/svnserve
sudo vim /etc/init.d/svnserve
Voici le contenu du fichier
#!/bin/sh
set -e
if [ -x /usr/bin/svnserve ] ; then
HAVE_SVNSERVE=1
else
echo « Svnserve not installed. »
exit 0
fi. /lib/lsb/init-functions
case « $1 » in
start)
log_action_begin_msg « Starting SVN server »
svnserve -d -r /home/thierry/repository/svn/default
log_action_end_msg $?
;;
stop)
log_action_begin_msg « Stoping SVN server »
start-stop-daemon –stop –exec /usr/bin/svnserve
log_action_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo « Usage: /etc/init.d/svnserve {start|stop|restart|force-reload} »
exit 1
;;
esacexit 0
Ajouter les droits d’éxécution au script par :
sudo chmod +x /etc/init.d/svnserve
Ce script devra être lancé automatiquement au démarrage de la machine. Nous l’ajoutons aux services de démarrage comme suit:
sudo update-rc.d svnserve defaults
Voilà le serveur de source est presque prêt. Il ne reste que l’étape des droit d’accès. En effet une Software Factory ne doit pas permettre un accès non contrôlé au dépôt de source. Aller dans le répertoire du repository i.e. /home/thierry/repository/svn/default
Allez ensuite dans le répertoir conf qui contient les fichiers svnserve.conf et passwd. Modifier le fichier svnserve.conf en décommentant les lignes suivantes:
anon-access = read
auth-access = write
password-db = passwd
Cela a pour effet de n’autoriser que les utilisateurs authentifiés à modifier les sources, les autres ayant un accès en lecture seule. L’authentification se fait par le fichier passwd en y mettant des couples login = password comme par exemple :
thierry = thierry
Enfin le serveur de source est prêt. Lancer le par la commande suivante :
sudo /etc/init.d/svnserve start
Le titre de l’article est volontairement non révélateur de son contenu afin de souligner que la création d’un projet nécessite des étapes de préparation préalables. La première étape de la créationde l’environnement de développement est la mise en place du dépôt de source. Mais que l’on se rassure, la création d’un repository ne se fait pas à chaque fois que l’on crée un projet. Le prochain article de la série traitera de la création de l’arborescence du projet et de l’import dans le repository.
Tags: Linux Software Factory Subversion Ubuntu