Projet

Général

Profil

Actions

Demande #3552

fermé

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

Ajouté par Quentin Gibeaux il y a presque 6 ans. Mis à jour il y a presque 5 ans.

Statut:
Rejeté
Priorité:
Normale
Assigné à:
Christian P. Momon
Catégorie:
-
Version cible:
Début:
10/01/2019
Echéance:
% réalisé:

0%

Temps estimé:
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


Demandes liées 1 (0 ouverte1 fermée)

Lié à Admins - Demande #4266: Installer une forge AprilFerméChristian P. Momon15/02/2020

Actions

Mis à jour par Christian P. Momon il y a presque 6 ans

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.

Mis à jour par Quentin Gibeaux il y a presque 6 ans

  • Assigné à mis à Christian P. Momon
  • Version cible changé de Backlog à Février 2019

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Février 2019 à Mars 2019

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Mars 2019 à Avril 2019

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Avril 2019 à Mai 2019

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Mai 2019 à Juin 2019

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Juin 2019 à Été 2019

Mis à jour par Christian P. Momon il y a environ 5 ans

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

Mis à jour par Christian P. Momon il y a environ 5 ans

  • Statut changé de Nouveau à En cours de traitement
  • Difficulté changé de 2 Facile à 6 Très difficile

Mis à jour par Christian P. Momon il y a environ 5 ans

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.

Mis à jour par Quentin Gibeaux il y a environ 5 ans

  • Version cible changé de Été 2019 à Septembre 2019

Mis à jour par Christian P. Momon il y a environ 5 ans

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.

Mis à jour par Quentin Gibeaux il y a environ 5 ans

  • Version cible changé de Septembre 2019 à Octobre 2019

Mis à jour par Quentin Gibeaux il y a environ 5 ans

  • Version cible changé de Octobre 2019 à Novembre 2019

Mis à jour par Quentin Gibeaux il y a presque 5 ans

  • Version cible changé de Novembre 2019 à Décembre 2019

Mis à jour par Quentin Gibeaux il y a presque 5 ans

  • Version cible changé de Décembre 2019 à Janvier 2020

Mis à jour par Quentin Gibeaux il y a presque 5 ans

  • Statut changé de En cours de traitement à Rejeté

Mis à jour par Christian P. Momon il y a presque 5 ans

Mis à jour par Christian P. Momon il y a presque 5 ans

La mise au point d'une procédure d'installation viable prend trop de temps.
Après discussion à la réunion de sprint, décision de se tourner vers produit plus simple et plus sûr à installer (#4266).
Donc fermeture de se ticket et ouverture d'un autre (#4266).

Actions

Formats disponibles : Atom PDF