Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
gitolite [Le 27/11/2009, 01:53]
v0n
gitolite [Le 31/08/2022, 23:30] (Version actuelle)
moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 30: Ligne 30:
 Cette commande a pour effet d'​ajouter votre clé au fichier ''​~/​.ssh/​authorized_keys''​ de **''​git''​**. Cette commande a pour effet d'​ajouter votre clé au fichier ''​~/​.ssh/​authorized_keys''​ de **''​git''​**.
  
-Gitolite ​nécéssite ​évidement Git. Si ce n'est pas fait, [[:​tutoriel:​comment_installer_un_paquet|installez donc le paquet]] [[apt://git-core|git-core]]. +Gitolite ​nécessite ​évidement Git. Si ce n'est pas fait, [[:​tutoriel:​comment_installer_un_paquet|installez donc le paquet]] [[apt>git-core|git-core]].
 ===== Installation ===== ===== Installation =====
  
Ligne 38: Ligne 37:
 Récupérez les sources de Gitolite sur Github, avec : Récupérez les sources de Gitolite sur Github, avec :
  
-  git clone git://​github.com/​sitaramc/​gitolite.git+  git clone https://​github.com/​sitaramc/​gitolite.git
  
 Déplacez-vous dans le dossier des sources : Déplacez-vous dans le dossier des sources :
Ligne 47: Ligne 46:
  
   src/​gl-easy-install git localhost admin   src/​gl-easy-install git localhost admin
 +   
 +<note important>​La commande précédente n'est plus bonne avec la version actuelle du répertoire github. Les changements semble d'​ailleurs assez important il n'est plus sur que cette page ne soit pas obsolète !</​note>​
 Cela signifie que vous lancez l'​installation en utilisant **''​git''​** comme utilisateur contenant les dépôts Git, sur votre serveur (ici la machine sur laquelle vous êtes connectée, donc ''​localhost''​ représente **''​server''​**) et utilisez **''​admin''​** comme administrateur des dépôts. Cela signifie que vous lancez l'​installation en utilisant **''​git''​** comme utilisateur contenant les dépôts Git, sur votre serveur (ici la machine sur laquelle vous êtes connectée, donc ''​localhost''​ représente **''​server''​**) et utilisez **''​admin''​** comme administrateur des dépôts.
  
-Il vous sera demandé plusieurs choses au cours de l'​exécution du script. Si vous n'​êtes pas familié ​avec Git, utilisez les propositions par défaut.+Il vous sera demandé plusieurs choses au cours de l'​exécution du script. Si vous n'​êtes pas familier ​avec Git, utilisez les propositions par défaut.
  
 ===== Configuration ===== ===== Configuration =====
  
-La configuration de Gitolite est simple. ​Elle crée un dépôt de configuration nommé ''​gitolite-admin''​ sur le serveur, ​et son clône dans le répertoire personnel de **''​admin''​**. C'est dans celui-ci que nous configurerons nos dépôts. ​cette configuration comprend un fichier et un dossier :+La configuration de Gitolite est simple. ​Un dépôt de configuration nommé ''​gitolite-admin'' ​est créé ​sur le serveur, ​ainsi que son clône dans le répertoire personnel de **''​admin''​**. C'est dans celui-ci que nous configurerons nos dépôts. ​Cette configuration comprend un fichier et un dossier :
  
   * **''​conf/​gitolite.conf''​** : fichier de configuration de Gitolite, contenant les dépôts, leurs utilisateurs/​groupes et leurs droits associés ;   * **''​conf/​gitolite.conf''​** : fichier de configuration de Gitolite, contenant les dépôts, leurs utilisateurs/​groupes et leurs droits associés ;
Ligne 83: Ligne 83:
 </​code>​ </​code>​
  
-Une fois votre fichier édité, ​sauvegardé ​puis //​commitez//​ les changements :+Une fois votre fichier édité, ​sauvegardez ​puis //​commitez//​ les changements :
  
   git add conf/​gitolite.conf   git add conf/​gitolite.conf
Ligne 95: Ligne 95:
 Pour ajouter un utilisateur,​ il suffit d'​ajouter sa clé publique au dossier ''​keydir/''​ dans un fichier nommé ''​username.pub''​. Pour ajouter un utilisateur,​ il suffit d'​ajouter sa clé publique au dossier ''​keydir/''​ dans un fichier nommé ''​username.pub''​.
  
-Pour ajouter par exemple l'​utilisateur ''​user1'',​ [[:​tutoriel:​comment_editer_un_fichier|crééz ​le fichier]] ''​keydir/​user1.pub''​ contenant sa clé publique.+Pour ajouter par exemple l'​utilisateur ''​user1'',​ [[:​tutoriel:​comment_editer_un_fichier|créez ​le fichier]] ''​keydir/​user1.pub''​ contenant sa clé publique.
  
 <​note>​ <​note>​
-Cette clé publique est habituellement créée avec la commande ''​ssh-keygen''​ (executée ​depuis le poste de l'​utilisateur à ajouter) et est contenue dans le fichier ''​~/​.ssh/​id_rsa.pub''​ de l'​utilisateur.+Cette clé publique est habituellement créée avec la commande ''​ssh-keygen''​ (exécutée ​depuis le poste de l'​utilisateur à ajouter) et est contenue dans le fichier ''​~/​.ssh/​id_rsa.pub''​ de l'​utilisateur.
 </​note>​ </​note>​
  
Ligne 144: Ligne 144:
   * **R** : droit de lecture uniquement (l'​utilisateur peut effectuer un ''​git clone'',​ etc) ;   * **R** : droit de lecture uniquement (l'​utilisateur peut effectuer un ''​git clone'',​ etc) ;
   * **RW** : droit de lecture et écriture (l'​utilisateur peut effectuer un ''​git clone'',​ ''​git push'',​ etc) ;   * **RW** : droit de lecture et écriture (l'​utilisateur peut effectuer un ''​git clone'',​ ''​git push'',​ etc) ;
-  * **RW+** : droit de lecture et écriture, ainsi que les //rewind permissions//,​ c'​est-à-dire le droit de supprimer des étapes du projet, comme par exemple ​le permet ​la commande ''​git reset --hard HEAD^''​.+  * **RW+** : droit de lecture et écriture, ainsi que les //rewind permissions//,​ c'​est-à-dire le droit de supprimer des étapes du projet, comme par exemple ​permettre ​la commande ''​git reset --hard HEAD^''​.
  
 <note help> <note help>
-Pour une configuration plus poussée, comme les permissions sur les branches, Gitweb, etc, voir l'​exemple de [[http://​github.com/​sitaramc/​gitolite/​blob/​master/​conf/​example.conf|fichier de configuration]] de Gitolite.+Pour une configuration plus poussée, comme les permissions sur les branches, Gitweb, etc, voir le [[https://​github.com/​sitaramc/​gitolite/​blob/​master/​README.txt|README]] de Gitolite.
 </​note>​ </​note>​
  
-==== Rendre ​accessible ​un dépôt ​au public ====+==== Rendre un dépôt public ====
  
 Pour permettre à n'​importe qui d'​accéder en lecture à votre dépôt, il vous faudra installer le ''​git daemon''​. Pour permettre à n'​importe qui d'​accéder en lecture à votre dépôt, il vous faudra installer le ''​git daemon''​.
Ligne 178: Ligne 178:
 <note important>​ <note important>​
 Notez que ''​git daemon''​ écoute sur le port **9418**. Donc celui-ci devra être accessible depuis l'​extérieur pour permettre au public d'​accéder à vos dépots. Notez que ''​git daemon''​ écoute sur le port **9418**. Donc celui-ci devra être accessible depuis l'​extérieur pour permettre au public d'​accéder à vos dépots.
 +</​note>​
 +==== Changer le masque des dépôts ====
 +
 +Il peut être utile de changer le masque des dépôts, c'​est-à-dire attribuer des droits différents aux nouveaux dépôts. Par exemple, //Gitweb// ou [[:​redmine|Redmine]] ont besoin de lire les dépôts pour les parcourir. Souvent, la plus propre méthode consistera à ajouter leur utilisateur au groupe //git// et ajouter le droit de lecture à ce groupe.
 +
 +[[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **''/​home/​git/​.gitolite.rc''​** (sur **''​server''​**) pour y changer la valeur de la variable ''​REPO_UMASK''​ comme ceci (commentez la valeur actuelle et décommentez celle voulue) :
 +
 +  $REPO_UMASK = 0027;       # gets you '​rwxr-x---'​
 +
 +Ce n'est pas tout. Cette modification affectera les nouveaux dépôts créés, pas ceux déjà existants. Pour attribuer les bonnes permissions sur un dépôt existant, procédez comme ceci (dans le cas ou nous voulons attribuer le droit de lecture au groupe) :
 +
 +  sudo chmod -R g+Xr /​home/​git/​repositories/<​mon_depot>​.git/​
 +
 +<note important>​
 +Notez le **'​X'​** et non pas **'​x'​**,​ qui aura pour effet d'​attribuer le droit d'​exécution seulement sur un dossier, ou sur un fichier si celui-ci est déjà exécutable (par le propriétaire par exemple).
 </​note>​ </​note>​
  
Ligne 186: Ligne 201:
 === Par un utilisateur === === Par un utilisateur ===
  
-Après avoir ajouter ​un utilisateur,​ celui-ci peut //cloner// un dépôt avec :+Après avoir ajouté ​un utilisateur,​ celui-ci peut //cloner// un dépôt avec :
  
   git clone git@server:​my_repo   git clone git@server:​my_repo
 +
 +=== Par le public ===
 +
 +Si vous avez [[#​rendre_un_depot_public|rendu un dépôt public]], n'​importe qui pourra //cloner// ce dépôt avec :
 +
 +  git clone git://​server/​my_repo
  
 === Par l'​administrateur === === Par l'​administrateur ===
Ligne 195: Ligne 216:
  
   git clone gitolite:​my_repo   git clone gitolite:​my_repo
- 
-=== Par le public === 
- 
-Si vous avez [[#​rendre_accessible_un_depot_au_public|rendu accessible un dépôt au public]], n'​importe qui pourra //cloner// ce dépôt avec : 
- 
-  git clone git://​server/​my_repo 
  
 <​note>​ <​note>​
Ligne 213: Ligne 228:
   git config push.default matching   git config push.default matching
 </​note>​ </​note>​
 +
 +===== Désinstallation =====
 +
 +Pour désinstaller Gitolite, il faut supprimer des fichiers de **''​server''​** et **''​admin''​**.
 +
 +Dossier à supprimer du dossier personnel de **''​admin''​** :
 +
 +  * ''​~/​gitolite-admin''​
 +
 +Fichiers ou dossiers à supprimer du dossier personnel de **''​git''​** sur **''​server''​** :
 +
 +  * ''​~/​.gitolite''​
 +  * ''​~/​.gitolite.rc''​
 +  * ''​~/​gitolite-install''​
 +  * ''​~/​repositories/​gitolite-admin.git''​
 +
 +Il ne reste plus qu'à supprimer les accès SSH des utilisateurs sur **''​server''​** :
 +
 +dans le fichiers ''​~/​.ssh/​authorized_keys''​ de l'​utilisateur **''​git''​**,​ supprimez les clés des utilisateurs,​ ou supprimez la partie ''"​command=..."''​.
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(en)** [[http://​github.com/​sitaramc/​gitolite|page de Gitolite]] sur Github ​+  * **(en)** [[https://​github.com/​sitaramc/​gitolite|page de Gitolite]] sur Github ;
-  * **(en)** [[http://​github.com/​sitaramc/​gitolite/​blob/​master/​conf/​example.conf|Un exemple de fichier de configuration complet]] ​;+
   * **(fr)** documentation de [[:​git|Git]] du wiki ;   * **(fr)** documentation de [[:​git|Git]] du wiki ;
  
Ligne 223: Ligne 256:
  
 //​Contributeurs : [[:​utilisateurs/​v0n]].//​ //​Contributeurs : [[:​utilisateurs/​v0n]].//​
- 
  • gitolite.1259283222.txt.gz
  • Dernière modification: Le 27/11/2009, 01:53
  • par v0n