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
redmine [2013/08/26 08:47] – [Plugins redmine-gitolite] madkoredmine [Date inconnue] (Version actuelle) – modification externe (Date inconnue) 127.0.0.1
Ligne 1: Ligne 1:
 ====== Redmine ====== ====== Redmine ======
  
 +
 +===== Fonctionnement général =====
 +
 +
 +Redmine met à jour les ACL et dépots GIT via un accès au dépôt gitolite. La clef publique SSH redmine doit être une clef d'admin sur le dépôt gitolite. Attention à ce que la connexion ssh fonctionne (known host etc), y compris vers localhost, 127.0.0.1 ou ::1 (c'est plus sûr, voir /var/log/secure en cas de soucis).
 +
 +
 +Quand redmine est utilisé pour ajouter, vérouiller ou dévérouiller une clef publique SSH, il utilise le dépôt redmine pour faire la configuration adéquate. Un hook d'update s'occupe de mettre à jour le authorized_keys de l'utilisateur git. Ceci permet l'accès au dépôts git pour les utilisateurs.
 +
 +
 +Un autre hook prévient redmine d'un changement sur le dépôt git.
  
 ===== Installation redmine ===== ===== Installation redmine =====
Ligne 114: Ligne 125:
  
  
-Le plugins redmine-gitolite devrait être visible dans la page d'administration des plugins dans redmine.+Le plugins redmine-gitolite devrait être visible dans la page d'administration des plugins dans redmine. Il faut lui configurer surtout le repertoire contenant les dépôts git. 
 + 
 +===== Installation gitolite ===== 
 + 
 + 
 +Création d'un utilisateur git dont le home est /srv/git. 
 + 
 + 
 +Modification des règles par défaut pour les contextes selinux sur ce chemin. Il faut modifier le fichier /etc/selinux/targeted/contexts/files/file_contexts.homedirs pour ajouter: 
 + 
 + 
 +<file> 
 +/srv/git              system_u:object_r:user_home_t:s0 
 +/srv/git/.+       system_u:object_r:user_home_t:s0 
 +/srv/git/\.ssh(/.*)?      system_u:object_r:ssh_home_t:s0 
 +</file> 
 + 
 + 
 +Ensuite lancer la commande: 
 + 
 + 
 +<code> 
 +[root@srvgit] # restorecon -Rv /srv/git 
 +</code> 
 + 
 + 
 +Pour que les nouveaux contextes soient positionnés. Sinon SELinux bloquera l'accès aux clefs SSH autorisées. 
 + 
 + 
 +==== Récupération de gitolite ==== 
 + 
 + 
 +En tout qu'utilisateur git: 
 + 
 + 
 +<code> 
 +[git@srvgit] $ git clone https://github.com/sitaramc/gitolite.git 
 +</code> 
 + 
 + 
 +S'assurer que $HOMEDIR/bin est bien dans le $PATH. 
 + 
 + 
 +<code> 
 +[git@srvgit] $ gitolite/install -ln 
 +</code> 
 + 
 + 
 +==== Autoriser l'utilisateur redmine à gérer gitolite ==== 
 + 
 + 
 +Il faut disposer de la clef ssh publique de l'utilisateur redmine. 
 + 
 + 
 +<code> 
 +[git@srvgit] $ gitolite setup -pk /chemin/vers/redmine.pub 
 +</code> 
 +==== Gestion des clefs ssh par gitolite ==== 
 + 
 + 
 +Il faut ajouter un hook dans gitolite pour gérer les clefs ssh dans le .ssh/authorized_keys 
 + 
 + 
 +<code> 
 +[git@srvgit] $ cd /tmp 
 +[git@srvgit] $ git clone git://github.com/pibako/redmine-gitolite.git 
 +[git@srvgit] $ cd redmine-gitolite 
 +[git@srvgit] $ git checkout -t origin/redmine2 
 +[git@srvgit] $ cp contrib/hooks/post-receive-redmine_gitolite ~/.gitolite/hooks/common/post-receive 
 +[git@srvgit] $ chmod +x ~/.gitolite/hooks/common/post-receive 
 +</code> 
 + 
 + 
 +Il faut éditer ce fichier post-receive pour ajouter l'url du redmine, et la clef pour l'accès à son API. 
 + 
 + 
 +Il faut ensuite editer le gitolite.rc pour exécuter ce hook, en ajoutant "hooks%%\%%.redmine_gitolite%%\%%..*" dans la variable GIT_CONFIG_KEYS. 
 + 
 + 
 +Puis lancer: 
 + 
 + 
 +<code> 
 +[git@srvgit] $ gitolite setup 
 +</code> 
 + 
 + 
 +==== Tester l'accès gitolite ==== 
 + 
 + 
 +Depuis le compte redmine, l'accès au shell gitolite devrait fonctionner (sans mot de passe ssh bien sûr): 
 + 
 + 
 +<code> 
 +[redmine@srvgit] $ ssh -T git@localhost 
 +</code> 
 + 
 + 
 +Exemple: 
 + 
 + 
 +<code> 
 +hello redmine, this is git@supervision running gitolite3 v3.5.2-3-g2515992 on git 1.7.1 
 + 
 + R W    gitolite-admin 
 + R W    testing 
 +</code>
  
  • redmine.1377506842.txt.gz
  • Dernière modification : 2013/08/26 08:46
  • (modification externe)