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 15/12/2011, 15:17] 127.0.0.1 modification externe |
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 http://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 249: | 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 ; | ||