Alors, j'ai un serveur web et je souhaite "versionner" et deployer mes projets via Git.
Ce que je souhaite faire, c'est utiliser le system de hooks avec un post-update pour que lorsque je push sur mon dépôt, le script effectue un pull sur un clone du dépôt qui sert de prod et un autre clone qui sert de test.
Je ne sais pas si c'est très claire, je me base sur cet exemple.
A une différence près, c'est que les tests se font sur un autre "serveur", c'est une vm debian, qui ne se trouve pas sur le même serveur.
Bref, je peux me connecter en ssh via des clés entre les différents serveurs, ça ya pas de problème ça passe bien.
Après je me suis dis qu'avec sshfs, ce serais plus simple pour réaliser mon script post-update.
Après je ne sais pas, peut être que c'est pas si terrible que ça à faire.
Le principe du post-update:
- je supprime la variable GIT_DIR (sinon ça plante)
- [connexion ssh] ou [le dossier distant est 'monter" via sshfs]
- je me déplace dans le répertoire du projet
- je pull pour récupérer les dernières modifs
#!/bin/bash
echo "==> prod"
# C'est ici que je pensais me servir de sshfs
# sinon faut que je fasse une connexion ssh 'directement '?
# on se déplace à l'endroit du projet
cd /var/www/le_projet
unset GIT_DIR
# et on pull
git pull origin master
Le truc avec la connexion ssh, c'est qu'il faut ajouter la clé à l'agent (c'est surement pas très bien dit xd):
eval "$(ssh-agent)"
ssh-add "la clé"
passphrase blablabla
Si je dois le faire une fois ça va, mais si je dois le faire à chaque fois que je push, c'est plus gênant.
J'ai également vu que certains font des connexions entre serveurs avec des clés sans mot de passe. Je suis peut être parano, mais c'est pas top niveau sécurité?