Modifications entre les versions 6 et 8 (s'étendant sur 2 versions)
Version 6 à la date du 2008-10-30 21:20:21
Taille: 3467
Commentaire:
Version 8 à la date du 2008-10-30 22:40:45
Taille: 4725
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 3: Ligne 3:
||<#FFFF50> '''Cette page est en cours de rédaction.''' Il ne pas la considérer comme une documentation valide pour le moment !|| ||<#FFFF50> '''Page est en cours de rédaction.''' Ne pas la considérer comme une documentation valide !||
Ligne 7: Ligne 7:
== Mise en place ==
Ligne 46: Ligne 47:
$projects_list_description_width = 40; $projects_list_description_width = 50;
Ligne 53: Ligne 54:
 * gérer les dépôts :
  * git clone gitosis@git.auf:gitosis-admin.git
  * ajouter toutes les clés publiques de tout le monde dans le dossier `keydir/`
  * éditer le fichier `gitosis.conf` pour y déclarer les groupes d'utilisateurs et les dépôts, par exemple comme suit :
  {{{
 * configurer apache pour offrir les services de gitweb :
 {{{
Alias /gitweb.css /usr/share/gitweb/gitweb.css
Alias /git-logo.png /usr/share/gitweb/git-logo.png
Alias /git-favicon.png /usr/share/gitweb/git-favicon.png
# on n'active pas la ligne suivante car on préfère l'accès via git-daemon
#Alias /git /srv/gitosis/repositories
ScriptAlias / /usr/lib/cgi-bin/gitweb.cgi
}}}
 * demander à apache de recharger sa configuration :
 {{{
$ sudo apache2ctl configtest
$ sudo apache2ctl graceful
}}}

== Gestion des dépôts ==

 * récupérer le dossier de configuration gitosis :
 {{{
git clone gitosis@git.auf:gitosis-admin.git
}}}
 * éditer le fichier `gitosis.conf` pour y déclarer les droits d'accès :
 {{{
Ligne 62: Ligne 81:
writable = domination-mondiale formatage-cerveaux writable = formatage-de-cerveaux domination-mondiale
Ligne 65: Ligne 84:
}}}
 * y ajouter les clés publiques utiles, sous la forme `keydir/prenom.nom.pub`
 * et envoyer tout ça à gitosis :
 {{{
$ git add .
$ git commit -a -m "Ajout des projets formatage-de-cerveaux et domination-mondiale."
$ git push
}}}
 * créer son projet localement et l'envoyer sur le serveur :
 {{{#!shell
$ mkdir domination-mondiale
$ cd domination-mondiale
$ git init
$ echo "Vers l'Infini et au delà !" > STRATÉGIE
$ git add .
$ git commit -a -m "Mise en route du suivi."
$ git remote add origin gitosis@git.auf:domination-mondiale.git
$ git push origin master
}}}
 * ré-éditer le fichier `gitosis.conf` pour y déclarer les dépôts à publier :
 {{{
Ligne 71: Ligne 111:
[repo formatage-cerveaux]
description = Reformater les cerveaux correctement (pour annuler celui de MS)
[repo formatage-de-cerveaux]
description = Reformater les cerveaux correctement (pour remplacer le formatage actuel par qui on sait)
Ligne 78: Ligne 118:
  * faire un `add`, un `commit` et un `push` pour que tout soit mis en place  * et envoyer tout ça à gitosis :
 {{{
$ git commit -a -m "Publication des projets formatage-de-cerveaux et domination-mondiale."
$ git push
}}}

Cette page présente la mise en place d'une solution d'hébergement de dépôts git.

Page est en cours de rédaction. Ne pas la considérer comme une documentation valide !

D'abord des prises de notes pendant l'installation... La mise en forme après !

Mise en place

  • ajouter la source APT pour backports.org et installer debian-backports-keyring
  • installer les versions backport de git-core, gitweb, git-daemon-run et gitosis :
    • attention : gitosis réclame la version backports de python-setup-tools
    • mais un bogue dans python-setup-tools réclame qu'il soit installé en premier !

      Paramétrage de python-setuptools (0.6c8-4~bpo40+1) ...
      pycentral: pycentral pkginstall: already exists: /usr/lib/python2.4/site-packages/setuptools.pth
      pycentral pkginstall: already exists: /usr/lib/python2.4/site-packages/setuptools.pth
      dpkg : erreur de traitement de python-setuptools (--configure) :
       le sous-processus post-installation script a retourné une erreur de sortie d'état 1
      dpkg : des problèmes de dépendances empêchent la configuration de gitosis :
       gitosis dépend de python-setuptools (>= 0.6c8-4~bpo40+1) ; cependant :
       Le paquet python-setuptools n'est pas encore configuré.
      dpkg : erreur de traitement de gitosis (--configure) :
       problèmes de dépendances - laissé non configuré
      Des erreurs ont été rencontrées pendant l'exécution :
       python-setuptools
       gitosis
      E: Sub-process /usr/bin/dpkg returned an error code (1)
  • suivre la doc dans /usr/share/doc/gitosis/README.Debian :
    • sudo -H -u gitosis gitosis-init < ~/.ssh/authorized_keys

    • sudo adduser gitosis ssh
  • configurer git-daemon pour utiliser les dépôts de gitosis :
    • éditer le fichier /etc/sv/git-daemon/run pour y remplacer la dernière ligne de lancement par la suivante :

      exec git-daemon --verbose --user=nobody --group=gitosis --base-path=/srv/gitosis/repositories /srv/gitosis/repositories
    • puis relancer le service git-daemon

    • ouvrir au besoin le port 9418/TCP pour ce serveur
  • configurer gitweb pour utiliser les dépôts de gitosis :
    • éditer le fichier /etc/gitweb.conf pour y mettre au moins les lignes suivante :

      $projectroot = "/srv/gitosis/repositories";
      $projects_list = "/srv/gitosis/gitosis/projects.list";
      $projects_list_description_width = 50;
      $export_ok = "";
      $strict_export = "true";
      @git_base_url_list = ('git://git.auf.org/');
    • ajouter www-data au groupe gitosis pour avoir accès en lecture aux dépôts
  • configurer apache pour offrir les services de gitweb :
    Alias /gitweb.css       /usr/share/gitweb/gitweb.css
    Alias /git-logo.png     /usr/share/gitweb/git-logo.png
    Alias /git-favicon.png  /usr/share/gitweb/git-favicon.png
    # on n'active pas la ligne suivante car on préfère l'accès via git-daemon
    #Alias /git              /srv/gitosis/repositories
    ScriptAlias / /usr/lib/cgi-bin/gitweb.cgi
  • demander à apache de recharger sa configuration :
    $ sudo apache2ctl configtest
    $ sudo apache2ctl graceful

Gestion des dépôts

  • récupérer le dossier de configuration gitosis :
    git clone gitosis@git.auf:gitosis-admin.git
  • éditer le fichier gitosis.conf pour y déclarer les droits d'accès :

    [group quelques-zouaves]
    members = jean-christophe.andre thomas.noel moussa.nombre jerome.santini
    
    [group projets-experimentaux]
    writable = formatage-de-cerveaux domination-mondiale
    members = @quelques-zouaves
  • y ajouter les clés publiques utiles, sous la forme keydir/prenom.nom.pub

  • et envoyer tout ça à gitosis :
    $ git add .
    $ git commit -a -m "Ajout des projets formatage-de-cerveaux et domination-mondiale."
    $ git push
  • créer son projet localement et l'envoyer sur le serveur :
    $ mkdir domination-mondiale
    $ cd domination-mondiale
    $ git init
    $ echo "Vers l'Infini et au delà !" > STRATÉGIE
    $ git add .
    $ git commit -a -m "Mise en route du suivi."
    $ git remote add origin gitosis@git.auf:domination-mondiale.git
    $ git push origin master
  • ré-éditer le fichier gitosis.conf pour y déclarer les dépôts à publier :

    [repo domination-mondiale]
    description = Dominer le monde des logiciels, grâce au Libre
    owner = la FSF ?
    daemon = yes
    gitweb = yes
    
    [repo formatage-de-cerveaux]
    description = Reformater les cerveaux correctement (pour remplacer le formatage actuel par qui on sait)
    owner = Canonical ?
    daemon = yes
    gitweb = yes
  • et envoyer tout ça à gitosis :
    $ git commit -a -m "Publication des projets formatage-de-cerveaux et domination-mondiale."
    $ git push

Git/Hébergement (dernière édition le 2008-10-30 22:40:45 par JeanChristopheAndré)