Tutoriaux
Site
TutoriauxSite
|
Installation d'un serveur CVSposté par Anthony Heukmes le 29-01-2007
Concurrent Versions System (CVS)
Le CVS est un logiciel libre permettant le contrôle de versions. Concrètement, il permet à plusieurs personnes (généralement des développeurs) de travailler sur un même ensemble
de fichiers. Chaque développeur récupère le projet (checkout) sur sa machine, effectue différentes modifications puis enregistre ses modifications sur le serveur (commit).
Le serveur CVS va alors automatiquement détecter les conflits entre les différents fichiers et permettre d'effectuer une "fusion" propre des fichiers.
Un autre développeur peut alors facilement actualiser son projet
en récupérant les modifications effectuées par son confrère en effectuant la commande update sur les fichiers concernés.
Le serveur CVS stocke ses données dans un répertoire appelé repository contenant les différentes versions de chaque fichier, les dates de modifications, les auteurs, etc.
CVS peut être utilisé directement en ligne de commande ou par l'intermédiaire d'un environnement graphique tel qu'Eclipse.
Installation du serveur CVSFedora Core 6 installe par défaut CVS, au cas ou vous ne l'auriez pas vous pouvez l'installer via yum :
# yum install cvs
Créez le dossier cvsroot dans le répertoire /usr/local :
# cd /usr/local
# mkdir cvsroot Il faut commencer par spécifier à CVS ou se situe le cvsroot en complétant la variable $CVSROOT :
# export CVSROOT=/usr/local/cvsroot/
Vous devez ensuite créer un groupe et un utilisateur CVS sur la machine. Vous devez en effet savoir que chaque utilisateur qui se connectera au serveur CVS devra posséder son propre compte sur la machine, cela permet de lui attribuer différents droits sur les projets.
# groupadd cvs
# useradd -g cvs cvs Il faut ensuite créer le repository via la commande :
# cvs init
Créer alors un projet de test que vous allez importer dans le repository :
# cd /home/votre_user
# mkdir projet-test # touch test.java Importez alors le projet dans CVS :
# cvs import -m "premiere version" projet-test de_moi starter
Votre projet est maintenant présent dans le repository, il faut cependant rendre votre serveur CVS accessible depuis le réseau. Commencez pour cela par vérifier que xinetd est présent sur votre machine :
# yum install xinetd
Lancer CVS à chaque démarrage de la machine :
# chkconfig cvs on
Vous devez ensuite modifier le fichier CVS situé dans le répertoire /etc/xinetd.d :
# gedit /etc/xinetd.d/CVS
# default: off # description: The CVS service can record the history of your source \ # files. CVS stores all the versions of a file in a single \ # file in a clever way that only stores the differences \ # between versions. service cvspserver { disable = no port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/bin/cvs env = HOME=/usr/local/cvsroot/ server_args = -f --allow-root=/usr/local/cvsroot/ pserver # bind = 127.0.0.1 } Redémarrez xinetd
# service xinetd reload
Vérifiez enfin que votre serveur CVS écoute bien sur le port 2401 et vérifiez également que ce port est bien ouvert sur votre firewall :
# netstat -an | grep 2401
Il ne vous reste plus qu'à créer un mot de passe d'accès pour l'utilisateur cvs :
# cd /usr/local/cvsroot/CVSROOT
# htpasswd -c passwd cvs Pour ajouter par la suite un autre utilisateur, utilisez la même commande en retirant l'option -c et en remplaçant cvs par le nom de l'utilisateur :
# cd /usr/local/cvsroot/CVSROOT
# htpasswd passwd user1 N'oubliez pas que chaque utilisateur spécifié dans ce fichier passwd doit avoir un compte utilisateur sur la machine. Le mot de passe du compte ne doit cependant pas correspondre avec celui entré pour l'accès au CVS. N'oubliez pas également d'attribuer les droits aux différents projets pour chaque utilisateur ou vous obtiendrez une erreur de type "permission denied". Vous pouvez maintenant vous placer sur une machine distante et tester la connexion à votre serveur CVS :
#export CVSROOT=':pserver:utilisateur@machine:/usr/local/cvsroot'
#cvs login CVS password: ... #cvs co projet-test Remplacez utilisateur par un des utilisateurs spécifié dans le fichier passwd et machine par l'adresse IP (ou le nom de domaine) du serveur CVS. La commande cvs co permet de faire un checkout d'un projet (dans notre cas de récupérer le projet-test sur votre machine). CVS avec Eclipse
Pour utiliser CVS dans Eclipse, créez un nouveau projet (file -> new -> project -> cvs -> projects from cvs) et complétez la connexion au repository comme ci-dessous :
CVS en SSH
Pour utiliser CVS avec une connexion SSH, vous devez commencer par générer une paire de clés pour chaque utilisateur (en utilisant openSSL par exemple).
Version imprimable
Commentaires
|
||||