Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
gitolite [Le 18/08/2010, 17:05] 81.80.172.130 Dans l'explication des changements de masque pour Redmine, il est nécessaire de rajouter l'argument -R pour les dépots existants |
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 37: | 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 46: | 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. | ||
Ligne 53: | Ligne 54: | ||
===== 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 82: | 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 94: | 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 143: | 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> | ||
Ligne 180: | Ligne 181: | ||
==== Changer le masque des dépôts ==== | ==== 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. | + | 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) : | [[: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) : | ||
Ligne 191: | Ligne 192: | ||
<note important> | <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 propritaire par exemple). | + | 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 200: | 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 | ||
Ligne 226: | Ligne 227: | ||
git push origin master | git push origin master | ||
git config push.default matching | git config push.default matching | ||
- | </note>===== Désinstallation ===== | + | </note> |
+ | |||
+ | ===== Désinstallation ===== | ||
Pour désinstaller Gitolite, il faut supprimer des fichiers de **''server''** et **''admin''**. | Pour désinstaller Gitolite, il faut supprimer des fichiers de **''server''** et **''admin''**. | ||
Ligne 241: | Ligne 244: | ||
* ''~/repositories/gitolite-admin.git'' | * ''~/repositories/gitolite-admin.git'' | ||
- | Il vaut reste plus qu'à supprimer les accès SSH des utilisateurs sur **''server''** : | + | 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=..."''. | dans le fichiers ''~/.ssh/authorized_keys'' de l'utilisateur **''git''**, supprimez les clés des utilisateurs, ou supprimez la partie ''"command=..."''. | ||
Ligne 247: | Ligne 250: | ||
===== 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 ; | ||