Project

General

Profile

Demande #3552

Donner accès au dépôt git de redmine

Added by Quentin Gibeaux 9 months ago. Updated 24 days ago.

Status:
En cours de traitement
Priority:
Normale
Category:
-
Target version:
Start date:
01/10/2019
Due date:
% Done:

0%

Difficulté:
6 Très difficile

Description

Il faut configurer redmine pour que les dépôts git soient accessibles à d'autres acteurs que les admins

History

#1 Updated by Christian P. Momon 9 months ago

Extrait de #april-admin le 12/11/2018 :

16:52 < benj> QGuLL: IIRC, Apache peut servir du git directement
16:56 < benj> et la réponse, à part 42 ou Kamoulox, c'est git-http-backend
16:56  * benj est étonné que ça soit si peu connu
16:57 < benj> https://redmine.org/projects/redmine/wiki/Install_Redmine_with_git_and_svn_support_over_https_on_Debian_wheezy_using_the_Debian_repository <-- wala

La solution git-http-backend s'appuie sur un module Perl qui utilise les rôles Redmine pour gérer les droits GIT projet par projet.

Un autre lien : https://redmine.org/projects/redmine/wiki/HowTo_configure_Redmine_for_advanced_git_integration

Ça serait déjà un progrès par rapport à la situation actuelle où seuls les adminsys peuvent pusher via SSH.

#2 Updated by Quentin Gibeaux 9 months ago

  • Assignee set to Christian P. Momon
  • Target version changed from Backlog to Février 2019

#3 Updated by Quentin Gibeaux 8 months ago

  • Target version changed from Février 2019 to Mars 2019

#4 Updated by Quentin Gibeaux 7 months ago

  • Target version changed from Mars 2019 to Avril 2019

#5 Updated by Quentin Gibeaux 6 months ago

  • Target version changed from Avril 2019 to Mai 2019

#6 Updated by Quentin Gibeaux 5 months ago

  • Target version changed from Mai 2019 to Juin 2019

#7 Updated by Quentin Gibeaux 4 months ago

  • Target version changed from Juin 2019 to Été 2019

#8 Updated by Christian P. Momon about 2 months ago

Benj met en avant la solution git-http-backend : https://git-scm.com/docs/git-http-backend

DESCRIPTION : 
A simple CGI program to serve the contents of a Git repository to Git clients accessing the repository over http:// and https:// protocols.

Donc nous aurions : user -> Nginx -> Apache -> CGI -> git-http-backend -> git

Mais :

(April) root@agir:~# apt-cache search git-http-backend
ruby-grack - Git Smart HTTP Server Rack implementation in Ruby/Rack

(April) root@agir:~# apt-cache show ruby-grack
Package: ruby-grack
Version: 2.0.2-2
Description-en: Git Smart HTTP Server Rack implementation in Ruby/Rack
 Rack application replacement for the builtin git-http-backend CGI
 handler distributed with Git.
 .
 The default git-http-backend only runs as a CGI script, and
 specifically is only targeted for Apache 2.x usage (it requires
 PATH_INFO to be set and specifically formatted).  This Rack
 application can run on nearly every major and minor webserver out
 there by making it Rack capable.
 .
 This the GITLAB version of the library.
Description-md5: cec9d0a9b7ca6d2af9deb1c385de0f1e
Homepage: https://github.com/gitlabhq/grack

Ok, pourquoi pas, si Debian le propose à la place du CGI git-http-backend, c'est que c'est forcément bien.

Quelques liens :

Par contre, ça nécessite un module pour faire communiquer Apache et Rack :

(April) root@agir:~#  apt-cache search passenger
libapache2-mod-passenger - Rails and Rack support for Apache2
passenger - Rails and Rack support

Et un autre module pour intégrer la gestion des permissions de Redmine : Redmine.pm.

(April) root@agir:~# apt-file search Redmine.pm
redmine: /usr/share/redmine/extra/svn/Redmine.pm

Donc, nous aurions : user -> Nginx -> Apache -> mod_perl -> Redmine.pm -> Passenger -> Grak -> git

#9 Updated by Christian P. Momon about 2 months ago

  • Status changed from Nouveau to En cours de traitement
  • Difficulté changed from 2 Facile to 6 Très difficile

#10 Updated by Christian P. Momon about 2 months ago

Après des heures de tentatives de configuration de ruby-grake, je réalise que git-http-backend fait partie du paquet Git :

(April) root@agir:~# dpkg -L  git |grep git-http-backend
/usr/lib/git-core/git-http-backend

Donc ça nous fait deux chemins pour arriver à nos fins.

#11 Updated by Quentin Gibeaux about 1 month ago

  • Target version changed from Été 2019 to Septembre 2019

#12 Updated by Christian P. Momon about 1 month ago

Pour information, sur une vm perso de test, j'ai réussi à configurer git-http-backend avec lequel j'arrive à faire du git clone, mais pas encore de push.

#13 Updated by Quentin Gibeaux 24 days ago

  • Target version changed from Septembre 2019 to Octobre 2019

Also available in: Atom PDF