Dlareg Blog

Aller au contenu | Aller au menu | Aller à la recherche

samedi, septembre 18 2010

Installer son propre dépôt Git sous Mandriva 2010.1

Pré-requis

Avoir un serveur SSH fonctionnel.
Avoir git d'installer sur la machine chez moi ça donne ça :

$ rpm -qa | grep git
git-prompt-1.7.1-1mdv2010.1
git-cvs-1.7.1-1mdv2010.1
git-email-1.7.1-1mdv2010.1
git-arch-1.7.1-1mdv2010.1
gitk-1.7.1-1mdv2010.1
git-core-oldies-1.7.1-1mdv2010.1
git-1.7.1-1mdv2010.1
git-svn-1.7.1-1mdv2010.1
git-core-1.7.1-1mdv2010.1

Téléchargement

$ cd ~
$ mkdir dev
$ cd dev
$ git clone git://eagain.net/gitosis.git

Installation

Pour procéder à l'installation il vous faut le paquetage python-setuptools

# urpmi python-setuptools

Chez moi ça donne ça

$ rpm -qa | grep python | grep setuptools
python-setuptools-0.6c11-1mdv2010.1

Il y a un bug qui ne permet pas d'aller au bout de l'installation de gitosis, pour y remédier :

# export PYTHONDONTWRITEBYTECODE=

http://lists.mandriva.com/bugs/2010-05/msg02799.php
http://bitbucket.org/tarek/distribute/issue/168/easy_install-fails-with-byte-compiling

Installons pour de bon :

$ cd ~/dev/gitosis
# python setup.py install

Configuration de gitosis

Création d'un utilisateur git :

# groupadd git
# useradd -g git -d /home/git -s /bin/bash -m git

Avez-vous une clé public SSH ?

si non sous votre utilisateur :

$ ssh-keygen -t rsa

Le résultat se trouve dans /home/votre_utilisateur/.ssh/
Vous avez un fichier id_rsa.pub alors vous avez maintenant une clé public SSH.

si oui :

$ cp /home/votre_utilisateur/.ssh/id_rsa.pub /tmp/cle.pub

Hop en root :

# sudo -H -u git gitosis-init < /tmp/cle.pub

Vous devez obtenir le résultat suivant en cas de réussite :

Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

A ce stade vous devez avoir un tas de fichier dans /home/git/repositories/gitosis-admin.git/

# ll /home/git/repositories/gitosis-admin.git/

On peut supprimer sur le serveur le répertoire d'installation contenant le clone du dépôt de gitosis :

# rm -rf /home/votre_utilisateur/dev/gitosis

On va suivre le conseil de toki pona et on va changer les droits sur le fichier /home/git/repositories/gitosis-admin.git/hooks/post-update

# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

L'installation est terminée.

Se connecter, cloner et configurer le serveur pour d'autres utilisateurs

Sur la machine cliente vous pouvez maintenant cloner le dépôt qui est sur votre serveur :

$ git clone git@[adresse du serveur]:gitosis-admin.git

Tapez votre pass phrase, le dépôt est cloné.

$ cd gitosis-admin.git

Il y un fichier gitosis.conf et un répertoire keydir dans votre dépôt.
Le fichier contient vos dépôts et les utilisateurs autorisés à se connecter.
Le répertoire contient les clés publics de vos utilisateurs autorisés.

Pour ajouter un utilisateur et un dépôt je vous invite à lire la démarche sur l'article de toki pona :
http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html#ss_part_4

Vous éditez à votre convenance et poussez les modifications sur le serveur :

$ git commit -a -m "Ajout de l'utilisateur [toto]"
$ git push

Liens utiles

http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html

mercredi, mars 31 2010

Problème de terminologie

Doit on utiliser le terme configurer ou paramétrer lorsqu'on parle d'une application ?

Une des réponses apportées par mon collègue est qu'il utilise "configurer" lorsqu'il s'adresse à un admin système, et "paramétrer" lorsqu'il s'adresse à un utilisateur final.

Pour ma part, je dirais "configurer" pour une application non graphique et "paramétrer" pour une application graphique.

Regardons ce que nous dit le Wiktionnaire :

Définir les sous-ensembles constituant un matériel, un logiciel, ou agir sur leurs paramètres pour en assurer la mise en œuvre.

http://fr.wiktionary.org/wiki/configurer

Fixer des paramètres.

http://fr.wiktionary.org/wiki/param%C3%A9trer

Par définition l'utilisation du terme paramétrer n'est pas adéquate pour le domaine informatique.