GitTips » Historique » Version 1
Geoffroy Desvernay, 29/01/2014 14:43
1 | 1 | Geoffroy Desvernay | h1. Trucs et astuces pour git |
---|---|---|---|
2 | 1 | Geoffroy Desvernay | |
3 | 1 | Geoffroy Desvernay | {{>toc}} |
4 | 1 | Geoffroy Desvernay | |
5 | 1 | Geoffroy Desvernay | h2. Utiliser ma clé ssh depuis une machine distante |
6 | 1 | Geoffroy Desvernay | |
7 | 1 | Geoffroy Desvernay | # Je dois avoir un 'ssh-agent' qui tourne avec ma session (c'est souvent le cas par défaut sous linux) |
8 | 1 | Geoffroy Desvernay | Pour vérifier: <pre>echo $SSH_AUTH_SOCK</pre> |
9 | 1 | Geoffroy Desvernay | # mon client ssh doit faire suivre l'agent au serveur, pour ça il faut taper 'ssh -A' ou avoir, dans /etc/ssh/ssh_config ou ~/.ssh/config |
10 | 1 | Geoffroy Desvernay | <pre> |
11 | 1 | Geoffroy Desvernay | ForwardAgent yes |
12 | 1 | Geoffroy Desvernay | </pre> |
13 | 1 | Geoffroy Desvernay | |
14 | 1 | Geoffroy Desvernay | h3. Pour OSX, utiliser |
15 | 1 | Geoffroy Desvernay | |
16 | 1 | Geoffroy Desvernay | <pre>ssh-add -K ~/.ssh/id_rsa</pre> |
17 | 1 | Geoffroy Desvernay | |
18 | 1 | Geoffroy Desvernay | h3. Pour windows, http://blog.killtheradio.net/how-tos/ssh-agent-on-cygwin/ |
19 | 1 | Geoffroy Desvernay | |
20 | 1 | Geoffroy Desvernay | h2. utiliser une cle de déploiement sur un serveur pour récupérer le code |
21 | 1 | Geoffroy Desvernay | |
22 | 1 | Geoffroy Desvernay | # Créer une clé ssh sur le serveur |
23 | 1 | Geoffroy Desvernay | <pre> |
24 | 1 | Geoffroy Desvernay | ssh-keygen -C "Deploiement sur $(hostname -s)" -f ~/.ssh/id_rsa_deploy -N '' |
25 | 1 | Geoffroy Desvernay | </pre> |
26 | 1 | Geoffroy Desvernay | # L'ajouter dans la forge en tant que 'pièce d'identité de déploiement' (deployment key) |
27 | 1 | Geoffroy Desvernay | Projet->Configuration->Dépôt->Ajouter une pièce d'identité de déploiement |
28 | 1 | Geoffroy Desvernay | # configurer mon serveur pour l'utiliser |
29 | 1 | Geoffroy Desvernay | dans le fichier ~/.ssh/config de l'utilisateur sur le serveur: |
30 | 1 | Geoffroy Desvernay | <pre> |
31 | 1 | Geoffroy Desvernay | Host git.centrale-marseille.fr |
32 | 1 | Geoffroy Desvernay | IdentityFile ~/.ssh/id_rsa_deploy |
33 | 1 | Geoffroy Desvernay | </pre> |
34 | 1 | Geoffroy Desvernay | |
35 | 1 | Geoffroy Desvernay | h2. Utiliser une cle de déploiement en read-only ET faire des commits depuis la même machine |
36 | 1 | Geoffroy Desvernay | Exemple: sur une machine serveur je veux récupérer automatiquement mon dépôt GIT, mais je veux pouvoir commiter en utilisant ma clé: |
37 | 1 | Geoffroy Desvernay | |
38 | 1 | Geoffroy Desvernay | # Je me crée (sur ma machine) des variables GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL : |
39 | 1 | Geoffroy Desvernay | <pre> |
40 | 1 | Geoffroy Desvernay | GIT_COMMITTER_EMAIL="moi@centrale-marseille.fr" |
41 | 1 | Geoffroy Desvernay | GIT_COMMITTER_NAME="Prénom Nom" |
42 | 1 | Geoffroy Desvernay | GIT_AUTHOR_EMAIL=$GIT_COMMITTER_EMAIL |
43 | 1 | Geoffroy Desvernay | GIT_AUTHOR_NAME=$GIT_AUTHOR_NAME |
44 | 1 | Geoffroy Desvernay | export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME |
45 | 1 | Geoffroy Desvernay | </pre> |
46 | 1 | Geoffroy Desvernay | # Dans mon fichier ~/.ssh/config, j'ajoute: |
47 | 1 | Geoffroy Desvernay | <pre> |
48 | 1 | Geoffroy Desvernay | Host * |
49 | 1 | Geoffroy Desvernay | SendEnv LANG LC_* GIT_* |
50 | 1 | Geoffroy Desvernay | </pre> |
51 | 1 | Geoffroy Desvernay | # sur le serveur (celui qui a la clé de déploiement), il faut dans /etc/ssh/sshd_config: |
52 | 1 | Geoffroy Desvernay | <pre> |
53 | 1 | Geoffroy Desvernay | AcceptEnv GIT_* |
54 | 1 | Geoffroy Desvernay | </pre> |
55 | 1 | Geoffroy Desvernay | |
56 | 1 | Geoffroy Desvernay | A partir de ce moment |