Si toute la phase d'installation s'est bien déroulée, différents composants ont été installés sur le serveur de référence et sur la machine cliente.
Sur le client
L'installation à cloné le repository gitolite-admin déployé sur le serveur de référence contenant toute la configuration (ACLs + utilisateurs)
ptitoliv@workstation:~/gitolite-admin$ ls -l
total 8
drwxr-xr-x 2 ptitoliv ptitoliv 4096 Dec 19 22:14 conf
drwxr-xr-x 2 ptitoliv ptitoliv 4096 Dec 19 22:14 keydir
Le répertoire conf contient le fichier gitolite.conf dans lequel sont décrites les ACLs par repository. Voici le fichier de configuration par défaut :
#gitolite conf
# please see conf/example.conf for details on syntax and features
repo gitolite-admin
RW+ = gitoliteadm
repo testing
RW+ = @all
La configuration fonctionne de la manière suivante : On déclare un bloc de configuration avec le mot clé repo suivi du nom du chemin complet du repository git sur le serveur de référence. Le chemin est établi par rapport à la racine de l'arborescence git distante.
Pour chaque repository,on peut avoir plusieurs ACLs. Les droits possibles sont les suivants :
- R : Droits en lecture(pull / clone / fetch)
- RW : Droits de lecture et d'écriture(push)
- RW+ : Droits de lecture, d'ecriture et de suppression d'objets particuliers (Branches, Tags)
Pour chaque droit on peut affecter des utilisateurs,des groupes d'utilisateurs ou bien tout le monde avec le mot clé @all.
Actuellement, il y a donc l'utilisateur gitoliteadm (Créé pendant l'installation) qui a tous les droits sur le repository gitolite-admin. C'est donc l'administrateur. Il y a également un repository testing sur lequel tout le monde à les droits.
Le répertoire keydir quant à lui contient la base des utilisateurs mais sous une forme particulière :
ptitoliv@workstation:~/gitolite-admin/keydir$ ls -l
total 4
-rw-r--r-- 1 ptitoliv ptitoliv 400 Dec 19 22:14 gitoliteadm.pub
La base des utilisateurs est en fait une liste de clés SSH publiques. Le nom de la clé doit être du format "username".pub pour que gitolite puisse l'utiliser par l'intermédiaire des hooks.
Sur le serveur de référence
L'installer à déployé dans le home directory de l'utilisateur git les éléments suivants :
git@serveur-git:~$ ls -al
drwxr-xr-x 6 git git 4096 Dec 19 22:27 .
drwxr-xr-x 6 root root 4096 Dec 19 21:41 ..
-rw------- 1 git git 366 Dec 19 22:27 .bash_history
-rw-r--r-- 1 git git 220 Dec 19 21:41 .bash_logout
-rw-r--r-- 1 git git 3116 Dec 19 21:41 .bashrc
drwxr-xr-x 7 git git 4096 Dec 19 21:49 .gitolite
-rw-r--r-- 1 git git 3291 Dec 19 21:49 .gitolite.rc
-rw-r--r-- 1 git git 675 Dec 19 21:41 .profile
drwx------ 2 git git 4096 Dec 19 22:19 .ssh
drwxr-xr-x 5 git git 4096 Dec 19 21:48 gitolite-install
-rw-r----- 1 git git 0 Dec 19 21:49 projects.list
drwxr-xr-x 4 git git 4096 Dec 19 21:49 repositories
Les éléments importants sont :
.gitolite: Environnement d'exécution de gitolite.Contient tous les hooks, et la base des ACLs extraite du repository gitolite-admin utilisée pour les autorisations d'accès.gitolite.rc: Fichier de configuration générale de gitolitegitolite-install: Répertoire contenant toute l'installation de gitolite. Utilisé pour la première installation et les upgrades/li>.ssh: Répertoire contenant toutes les clés publiques des utilisateurs enregistrés pour utiliser gitolite.repositories: Répertoire contenant tous les repositories administrés ainsi que le repository gitolite-adminprojects.list: Fichier utilisé pour l'interface WEB GitWeb
Tous ces éléments sont synchronisés entre le serveur de référence et les machines clients depuis lesquelle se fait l'administration de gitolite, le tout synchronisé par l'intermédiaire du repository gitolite-admin. Le seul élément sur lequel l'administrateur agit est ce repository, tout le reste étant géré par les hooks.
- Version imprimable
- Vous devez vous identifier ou créer un compte pour écrire des commentaires