Forum Linux.debian/ubuntu Comment créer un repo git centralisé

Posté par (page perso) .
Tags : aucun
2
10
oct.
2011

Après une journée de galère à écumer divers tutoriels, je m'en remet à votre sagesse, chères moules.

Je cherche à créer, sur un serveur, un repository centralisé, afin que quelques utilisateurs puissent coder (non github pour des raisons particulières ne correspond pas à mon besoin).
En gros un git, comme un svn...

J'ai essayé divers tutoriaux, dont gitolite, qui est inutilisable car le gl-easy-install a disparu.
J'ai aussi essayé un repo simple, mais j'ai un liste d'erreur cabalistiques typique de git.

On m'a parlé de svn+git, pourquoi pas je suis ouvert ! Mais installer un repo svn qui marche est une galère sans nom.

Quelqu'un dans la salle a t-il une réponse simple pour un besoin tout simple ?

Merci

  • # SSH

    Posté par (page perso) . Évalué à 3.

    Crée un utilisateur Unix pour chacun de tes utilisateurs. Crée un groupe Unix pour chaque projet. Crée un dépôt par projet et donne-le au groupe correspondant :

    # adduser tintin
    # addgroup plop
    # adduser tintin plop
    # mkdir /srv/git
    # git init --bare --shared /srv/git/plop.git
    # chgrp -R plop /srv/git/plop 
    
    

    Et voilà, ton utilisateur tintin peut maintenant accéder en lecture–écriture à ssh://tintin@serveur/srv/git/plop.git.

    • [^] # Re: SSH

      Posté par (page perso) . Évalué à 4.

      Ah, et si ça t'ennuie de fournir un accès shell à tes utilisateurs, tu peux les restreindre en configurant OpenSSH pour les forcer à exécuter un « shell restreint », en l'occurrence un wrapper écrit pour l'occasion, de façon à ce qu'ils ne puissent appeler que la commande git receive-pack.

    • [^] # Re: SSH

      Posté par (page perso) . Évalué à 2.

      Au fait : la façon canonique de procéder avec Git, ce n'est pas ça, mais plutôt chaque développeur qui a son dépôt, et le responsable principal qui va tirer depuis ces dépôts.

    • [^] # Re: SSH

      Posté par (page perso) . Évalué à 2.

      Quelques précisions :

      • --bare c'est histoire de créer un dépôt « nu » c'est à dire sans répertoire de travail qui ici ne servirait à rien ;
      • --shared c'est histoire de configurer ce dépôt pour que les fichiers créés initialement et par la suite quand quelqu'un envoie des données dessus soient en écriture pour le groupe.
  • # en s'inspirant de l'image fournit sur wikipedia

    Posté par . Évalué à 3.

    Git Basics

    tes utilisateurs en SSH sur le serveur (via une clef)
    et la possibilité pour eux de travailler dans un dossier commun (le projet)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.