Modifications entre les versions 6 et 7
Version 6 à la date du 2008-03-05 17:52:16
Taille: 2247
Éditeur: ThomasNoël
Commentaire: webdav : non mais oui mais bon
Version 7 à la date du 2008-03-11 18:59:36
Taille: 2656
Éditeur: ThomasNoël
Commentaire: git-shell, ben ouais, git c'est un vrai truc bien conséquent, quand même
Texte supprimé. Texte ajouté.
Ligne 62: Ligne 62:
== Eviter un accès shell complet via ssh ==

Pour que l'accès ''ssh'' soit restreint aux commandes git nécessaires, on met le shell de connexion de l'utilisateur à `/usr/bin/git-shell`<<FootNote(Ni `rssh` ni `scponly` ne fonctionnent, notamment par rapport à la notion de hooks)>>.
Ligne 67: Ligne 71:
 * test de compte "rssh only" (comment que ça marche, ça ?)
 * dissocier gitweb de la publication via http : possible mais inutile pour l'instant
 * http://eagain.net/blog/2007/03/22/howto-host-git.html : hébergement de gits, à étudier (lu en diagonale)
 * dissocier gitweb de la publication via http (c'est-à-dire ne pas rendre tous les projets publics visibles via gitweb) : possible mais plutôt inutile

Un dépôt git est disponible à l'AUF. Il permet :

  • à quiconque de suivre les développements AUF ;
  • à tout technicien AUF d'y présenter ses développements.

Les projets publics de ce dépôt sont visibles ici : http://git.auf.org/

Ci-dessous un résumé (pense-bête) des commandes à utiliser pour exploiter ce service. Si vous voulez vraiment savoir utiliser git, consultez d'abord la documentation officielle.

Télécharger et suivre d'un projet

Premier téléchargement :

  • $ git clone http://git.auf.org/git/projet

Télécharger les mises à jour :

  • $ cd projet
    $ git pull

Participer à un projet (droits en écriture)

Nécessite un accès RPV + ssh.

  • $ git push ssh://git.auf/~user/projet 

Création d'un projet

Nécessite un accès RPV + ssh.

Sur la machine où le projet est présent :

  • $ git clone --bare ~/projet projet.export
    $ rsync -a projet.export git.auf:~user/projet
    $ rm -rf projet.export

Sur le serveur :

  • $ cd /.../projet/
    $ echo "description" > description
    $ touch git-daemon-export-ok
    $ git --bare update-server-info
    $ chmod a+x hooks/post-update

Publication via http et vue sur gitweb (optionnelles) :

  • $ cd /srv/git/
    $ ln -s /.../projet .

Partage en écriture

Si plusieurs personnes doivent intervenir sur le projet, on peut créer un compte "virtuel" accessible par ssh à un ensemble de clés bien défini. L'adresse publique ne changera pas.

Eviter un accès shell complet via ssh

Pour que l'accès ssh soit restreint aux commandes git nécessaires, on met le shell de connexion de l'utilisateur à /usr/bin/git-shell1.

Ce qui reste à faire

  • rsync public pour accès rsync
  • webdav ? Mmh, les droits d'écriture à "www-data" ne me plaisent pas. Ceci dit, pour un accès public, c'est-à-dire écriture depuis en dehors du RPV... Entre ça et rssh/scponly sur un port autre que 22...?

  • git-daemon pour accès git:// plus optimisé : pas vraiment nécessaire
  • http://eagain.net/blog/2007/03/22/howto-host-git.html : hébergement de gits, à étudier (lu en diagonale)

  • dissocier gitweb de la publication via http (c'est-à-dire ne pas rendre tous les projets publics visibles via gitweb) : possible mais plutôt inutile
  1. Ni rssh ni scponly ne fonctionnent, notamment par rapport à la notion de hooks (1)

Git/DépôtGit (dernière édition le 2015-07-20 23:59:57 par JeanChristopheAndré)