Outils pour utilisateurs

Outils du site


documentation:technique:git:creer-un-depot-git-centralise

Ceci est une ancienne révision du document !


Dépot Git de Mycélium

Nous souhaitons avoir accès à un dépot Git pour poser nos scripts Ansible, et éventuellement d'autres choses.

Le dépot sera hébergé sur la machine de fab.

Cette page raconte d'abord la mise en place de ce dépot Git.

Puis elle raconte comment accéder et utiliser le dépot Git.

Mise en place du dépot

Tout a commencé … par un tutorial qui se promenait sur la toile.

Plutôt que d'utiliser git+ssh, on pourra se pencher sur gitolite et ses frérots : https://linuxfr.org/users/postroutine/journaux/serveur-git-avec-gitolite

En résumé :

  1. création d'un compte 'mycelium' sur la machine.
  2. initialiser le dépot Git
  3. modification de /etc/passwd pour usage du shell restreint git-shell (ou mieux: chsh -s /usr/bin/git-shell). (Ne pas prendre à court la doc en le faisant trop tôt.)
  4. ajout de clés SSH des usageres du dépot Git

Petit détour, cette doc indique entre autre comment ajuster un message de bienvenue pour git-shell : https://git-scm.com/docs/git-shell.html

Initialisation du dépot :

mycelium@mplserv:~/mycelium.git$ git --bare init
Dépôt Git vide initialisé dans /home/mycelium/mycelium.git/

Après copie de ma clé publique SSH, je tente un commit depuis ma machine locale. Ça fonctionne.

Puis je tente de récupérer le contenu du dépot :

git clone mycelium@mplserv:/home/mycelium/mycelium.git
Clonage dans 'mycelium'...
remote: Décompte des objets: 3, fait.
remote: Total 3 (delta 0), reused 0 (delta 0)
Réception d'objets: 100% (3/3), fait.

Tout ça fonctionne !

Utiliser le dépot git chez fab

Envoie ta clé SSH dedieu

D'abord, vous devez m'envoyer votre clé publique SSH (si par email, en pièce jointe de préférence pour éviter les soucis liés à mime/encodage).

Infos sur l'hôte

Sur mon réseau local la machine s'appelle mplserv, mais sur internet, il s'agit de cacatoes.homenet.org. L'accès SSH se fait sur le port 20122.

Le compte utilisateur est mycelium.

Dans mon .ssh/config, que vous pouvez copier tel quel, j'ai :

Host mplserv
  Hostname cacatoes.homenet.org
  HostKeyAlias mplserv
  CheckHostIP yes
  Port 20122

Vérifier l'authentification

Si vous avez copié mon bout de config ssh :

$ ssh mycelium@mplserv

Sinon :

$ ssh mycelium@cacatoes.homenet.org -p 20122

Réglages initiaux du dépôt mycelium.git

A compléter, voir aussi: https://wiki.monitoring-fr.org/infra/git

Récupérer le contenu du dépot :

$ git clone ssh://mycelium@cacatoes.homenet.org:20122/~/mycelium.git

ou bien (à condition d'avoir fait la manip précédente du .ssh/config) :

$ git clone mycelium@mplserv:/home/mycelium/mycelium.git

Après le clone, la première fois, il est préférable de configurer les informations personnelles.

$ git config --local --add user.name "<Prénom> <Nom>"
$ git config --local --add user.email "<email>"

Usage basique du dépôt mycelium.git

Récupérer une version récente des fichiers du dépot :

$ git pull

Consulter le journal d'activité :

$ git log

Ajouter un fichier ou répertoire :

$ git add file
$ git add directory

Commiter des changements (il faut ajouter les fichiers avant) :

$ git commit -m "Mon super commentaire explicite"

Envoyer le commit sur le dépôt centralisé

$ git push

Le répertoire 'keys'

Le répertoire keys à la racine du dépôt GIT de mycélium stocke les clés publiques SSH des administeurs Mycélium.

Le format du fichier de la clé doit être : <username>.pub.

Préférer les clés RSA (2048 ou supérieur) ou EC25519. (éviter les clés DSA et ECDSA)

Envoyer sa clé publique ssh dedans :

git pull
git add keys/<username>.pub
git commit -m "Add ssh public key for <username>"
git push

Erreurs diverses

:!: RSA host key for mplserv has changed and you have requested strict checking.

Ce problème est lié à ssh (et non pas à git). Il signifie que l'empreinte SSH du serveur a changé, ce qui pose la question de son authenticité, et vous devez vous enquérir du pourquoi : réinstallation du serveur, changement de la configuration réseau qui fait parvenir sur un autre serveur SSH…

A moins que vous ne connaissiez la raison de ce changement, vous devriez contacter l'administrateurice du serveur.

Un peu de debug possible avec :

ssh -vvv mycelium@mplserv
documentation/technique/git/creer-un-depot-git-centralise.1501416538.txt.gz · Dernière modification : 2017/07/30 14:08 de tyrben

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki