Modifications entre les versions 1 et 8 (s'étendant sur 7 versions)
Version 1 à la date du 2008-03-04 10:55:05
Taille: 1000
Éditeur: ThomasNoël
Commentaire: draft
Version 8 à la date du 2008-03-11 19:14:40
Taille: 2734
Éditeur: ThomasNoël
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
notes sur la mise en place de git.auf.org ## page was renamed from Git/GitWeb
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.
Ligne 3: Ligne 6:
La doc officielle : http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories Les projets publics de ce dépôt sont visibles ici : http://git.auf.org/
Ligne 5: Ligne 8:
= Utilisation =
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 [[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories|la documentation officielle]].
Ligne 9: Ligne 13:
Premier téléchargement :
Ligne 13: Ligne 18:
Télécharger les mises à jour :
 {{{
$ cd projet
$ git pull
}}}
Ligne 15: Ligne 26:
Nécessite un accès ssh au projet. Nécessite un accès RPV + ssh.
Ligne 18: Ligne 29:
$ git push ssh://git.auf.org/~user/projet master $ git push ssh://git.auf/~user/projet
Ligne 23: Ligne 34:
Nécessite un accès ssh : le demander à Moussa. Nécessite un accès RPV + ssh.

Sur
la machine où le projet est présent :
Ligne 25: Ligne 38:
$ git clone --bare ~/proj proj.git
$ touch proj.git/git-daemon-export-ok
rsync vers serveur, puis sur le serveur :
$ cd proj.git
$ 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
Ligne 33: Ligne 52:
Publication via http et vue sur gitweb (optionnelles) :
 {{{
$ cd /srv/git/
$ ln -s /.../projet .
}}}
Ligne 35: Ligne 60:
 * accès partagé via ssh : compte "virtuel" avec clés ssh publiques 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.
Ligne 37: Ligne 62:
== Eviter un accès shell complet via ssh ==
Ligne 38: Ligne 64:
= TODO =
 * webdav ? (surtout poru simplification de l'accès pour projets partagés)
 * git-daemon pour accès git:// plus optimisé (bof)
 * test de compte "rssh only"
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)>>.

= Ce qui reste à faire : rien... =

 * http://eagain.net/blog/2007/03/22/howto-host-git.html : hébergement de gits, à étudier (lu en diagonale)
 * rsync public pour accès rsync
 * [[http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt|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 des comptes avec `git-shell` sur un port autre que 22, mon coeur balance.
 * git-daemon pour accès git:// plus optimisé : pas vraiment nécessaire
 * 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

----
''Notes de bas de page :''

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 : rien...

  • http://eagain.net/blog/2007/03/22/howto-host-git.html : hébergement de gits, à étudier (lu en diagonale)

  • 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 des comptes avec git-shell sur un port autre que 22, mon coeur balance.

  • git-daemon pour accès git:// plus optimisé : pas vraiment nécessaire
  • 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


Notes de bas de page :

  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é)