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 | ||
redmine [2013/08/26 08:28] – madko | redmine [Date inconnue] (Version actuelle) – modification externe (Date inconnue) 127.0.0.1 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | Récuperer | + | ===== 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' | ||
+ | |||
+ | |||
+ | 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' | ||
+ | |||
+ | |||
+ | Un autre hook prévient redmine d'un changement sur le dépôt git. | ||
+ | |||
+ | ===== Installation redmine ===== | ||
Ligne 58: | Ligne 69: | ||
Une fois cette phase terminée, il faut installer le serveur thin. | Une fois cette phase terminée, il faut installer le serveur thin. | ||
+ | |||
+ | |||
+ | ===== Installation thin ===== | ||
+ | |||
+ | |||
+ | Dans le fichier / | ||
+ | |||
+ | |||
+ | < | ||
+ | gem " | ||
+ | </ | ||
+ | |||
+ | |||
+ | Puis relancer: | ||
+ | |||
+ | |||
+ | < | ||
+ | bundle install | ||
+ | </ | ||
+ | |||
+ | |||
+ | Thin sera ainsi installé. | ||
+ | |||
+ | |||
+ | ===== Plugins redmine-gitolite ===== | ||
+ | |||
+ | |||
+ | Se placer dans le repertoire des plugins, et cloner le dépot suivant: | ||
+ | |||
+ | |||
+ | < | ||
+ | cd / | ||
+ | git clone https:// | ||
+ | cd redmine-gitolite | ||
+ | git checkout -t origin/ | ||
+ | cd .. | ||
+ | mv gitolite-redmine gitolite_redmine | ||
+ | cd .. | ||
+ | RAILS_ENV=production rake redmine: | ||
+ | </ | ||
+ | |||
+ | |||
+ | Il faut renommer le repertoire du plugins car sinon: | ||
+ | |||
+ | |||
+ | < | ||
+ | $ RAILS_ENV=production rake db: | ||
+ | ** Invoke db: | ||
+ | ** Invoke redmine: | ||
+ | ** Invoke environment (first_time) | ||
+ | ** Execute environment | ||
+ | rake aborted! | ||
+ | uninitialized constant GitoliteObserver | ||
+ | </ | ||
+ | |||
+ | |||
+ | Le plugins redmine-gitolite devrait être visible dans la page d' | ||
+ | |||
+ | ===== 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 / | ||
+ | |||
+ | |||
+ | < | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Ensuite lancer la commande: | ||
+ | |||
+ | |||
+ | < | ||
+ | [root@srvgit] # restorecon -Rv /srv/git | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pour que les nouveaux contextes soient positionnés. Sinon SELinux bloquera l' | ||
+ | |||
+ | |||
+ | ==== Récupération de gitolite ==== | ||
+ | |||
+ | |||
+ | En tout qu' | ||
+ | |||
+ | |||
+ | < | ||
+ | [git@srvgit] $ git clone https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | S' | ||
+ | |||
+ | |||
+ | < | ||
+ | [git@srvgit] $ gitolite/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Autoriser l' | ||
+ | |||
+ | |||
+ | Il faut disposer de la clef ssh publique de l' | ||
+ | |||
+ | |||
+ | < | ||
+ | [git@srvgit] $ gitolite setup -pk / | ||
+ | </ | ||
+ | ==== Gestion des clefs ssh par gitolite ==== | ||
+ | |||
+ | |||
+ | Il faut ajouter un hook dans gitolite pour gérer les clefs ssh dans le .ssh/ | ||
+ | |||
+ | |||
+ | < | ||
+ | [git@srvgit] $ cd /tmp | ||
+ | [git@srvgit] $ git clone git:// | ||
+ | [git@srvgit] $ cd redmine-gitolite | ||
+ | [git@srvgit] $ git checkout -t origin/ | ||
+ | [git@srvgit] $ cp contrib/ | ||
+ | [git@srvgit] $ chmod +x ~/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | Il faut éditer ce fichier post-receive pour ajouter l'url du redmine, et la clef pour l' | ||
+ | |||
+ | |||
+ | Il faut ensuite editer le gitolite.rc pour exécuter ce hook, en ajoutant " | ||
+ | |||
+ | |||
+ | Puis lancer: | ||
+ | |||
+ | |||
+ | < | ||
+ | [git@srvgit] $ gitolite setup | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Tester l' | ||
+ | |||
+ | |||
+ | Depuis le compte redmine, l' | ||
+ | |||
+ | |||
+ | < | ||
+ | [redmine@srvgit] $ ssh -T git@localhost | ||
+ | </ | ||
+ | |||
+ | |||
+ | Exemple: | ||
+ | |||
+ | |||
+ | < | ||
+ | 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 | ||
+ | </ | ||