Gestion de code source en environnement réseau complexe

Gazette Linux n°50 — Février 2000

Pierre Tane

Adaptation française 

Frédéric Marchal

Correction du DocBook 

Article paru dans le n°50 de la Gazette Linux de février 2000.

Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Quand plus d'une personne travaille sur un projet, vous devez vous assurer que chacun n'empiète pas sur les modifications des autres. Quand il n'y a que quelques répertoires, le Système de Contrôle de Révision (Revision Control System (RCS)) est parfait. Mais quand il s'agit de dizaines de projets faisant appel à dix programmeurs et que votre environnement de développement est distribué sur plusieurs machines, vous êtes face à un véritable cauchemar en gestion de projet que RCS ne va pas beacoup vous aider à surpasser.

Ce qu'il vous faut alors, c'est le Système de Version Concurrente (Concurent Version System (CVS). CVS est génial car il fonctionne en réseau, travaille avec des arborescences entières de répertoires et permet à plusieurs personnes de travailler sur le même fichier au même moment sans perdre les changements des uns et des autres. CVS est fourni avec les RedHat 6.0+.

Aussi bien que soit CVS, il ne change rien au fait que votre code source passe sur Internet sans cryptage. Ce mois-ci, je vais traiter de la manière de monter un dépôt de code source sécurisé et utilisable en réseau et ceci par le biais du programme ssh (Secure Shell ou shell sécurisé). Le mois prochain, je vais vous montrer comment importer vos projects actuels dans ce dépôt, comment en extraire votre code, mettre à jour les fichiers et faire prendre en compte vos modifications.

La procédure est la suivante :

  1. Installez ssh sur vos machines. Ce programme est disponible à l'adresse suivante : ftp://sunsite.unc.edu/pub/packages/security/ssh/. La compagnie qui s'occupe de ssh se trouve à l'adresse suivante : http://ssh.com.

  2. Configurez sshd sur la machine qui va abriter le dépôt.

  3. Créez une nouveau compte utilisateur pour chaque groupe de programmeurs sur la machine qui abrite le compte de dépôt. Pour cet exemple, vous pouvez créer un nouvel utilisateur repository ou depot.

  4. Créez un répertoire .ssh sur chacun des comptes utilisateurs, y compris les nouveaux comptes créés pour le dépôt.

  5. Faites chmod 700 .ssh sur le répertoire personnel de chaque compte, y compris les comptes de dépôt.

  6. Faites créer à tout le monde une clé publique et privée en utilisant ssh-keygen.

  7. Récupérez les fichiers ~/.ssh/identity.pub de checun et placez les dabs le fichier ~/.ssh/authorized_keys dans le compte de dépôt pour ceux qui ont le droit de travailler sur ce projet.

  8. Faites chmod 700 ~/.ssh/authorized_keys sur le compte de dépôt.

  9. Testez pour voir si tout le monde peut faire ssh depot@hote_de_depotdepot est le nom du compte de dépôt et hote_de_depot est le nom de l'hôte que abrite le(s) répertertoire(s) de dépôt.

  10. Créez un réperoire ~/cvsroot dans la racine du compte de dépôt.

  11. Positionnez les deux variables d'environnement suivantes dans le script d'initialisation que vous utilisez. Pour moi, c'était le fichier ~/.bashrc :

    export CVS_RSH=ssh
    export CVSROOT=depot@hote_de_depot:/home/depot/cvsroot

  12. Loguez vous dans une autre fenêtre afin de vérifier que vous pouvez toujours vous loguer et que ces variables d'environnement sont bien positionnées.

  13. Faites une commande cvs init pour tous les utilisateurs habilités à utiliser ce dépôt : vous ne devriez pas avoir de messages d'erreurs.

  14. En cas de messages d'erreur, recommencez depuis le début et répétez les instructions jusqu'à ce que ça marche.

  15. Si vous avez des questions, n'hésitez pas à me contacter.

  16. Profitez de tout cela pour vous familiariser avec CVS et SSH. Lisez la documentation afin de voir si ils ne peuvent pas vous servir à d'autres occasions. Si quelqu'un voit une autre manière de mettre en place un dépôt CVS, qu'il la partage avec nous ! Je suis tout particulièrement intéressé par une méthode pour monter un dépôt cvs public comme ceux que l'on voit partout sur internet.

Par ailleurs, pour ceux qui ne l'ont pas vu, il vous est montré ci-dessus comment configurer vos comptes de manière à ne vous loguer qu'une seule fois sur une machine sécurisée et ensuite à vous connecter sur les autres machines sans login. J'en discuterai plus avant dans mon prochain article de cette série.

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.