L'installation de gitolite » Historique » Version 4
Jocelyn Dealande, 08/03/2013 12:43
1 | 2 | Yanick Delarbre | h1. Gitolite |
---|---|---|---|
2 | 1 | Yanick Delarbre | |
3 | 2 | Yanick Delarbre | h2. L'installation du serveur gitolite |
4 | 2 | Yanick Delarbre | |
5 | 1 | Yanick Delarbre | <pre> |
6 | 1 | Yanick Delarbre | # dpkg-reconfigure locales Règles le warning à propos des locales non configurés |
7 | 1 | Yanick Delarbre | #La clé de l'admin |
8 | 1 | Yanick Delarbre | client$ .ssh/id_rsa.pub root@rhizome-fai.net:/tmp/nebula.pub |
9 | 1 | Yanick Delarbre | server# apt-get install gitolite -y |
10 | 1 | Yanick Delarbre | server# su - gitolite |
11 | 1 | Yanick Delarbre | #Initialisation du repository admin |
12 | 1 | Yanick Delarbre | gitolite@server$ gl-setup /tmp/nebula.pub |
13 | 2 | Yanick Delarbre | </pre> |
14 | 1 | Yanick Delarbre | |
15 | 2 | Yanick Delarbre | h2. La configuration de gitolite |
16 | 2 | Yanick Delarbre | |
17 | 2 | Yanick Delarbre | <pre> |
18 | 1 | Yanick Delarbre | client$ git clone gitolite@rhizome-fai.tetaneutral.net:gitolite-admin.git |
19 | 1 | Yanick Delarbre | client$ cd gitolite-admin |
20 | 1 | Yanick Delarbre | #Les clés des clients |
21 | 1 | Yanick Delarbre | client$ mv cle.pub key/ |
22 | 1 | Yanick Delarbre | #La configuration de chaque repository |
23 | 1 | Yanick Delarbre | client$ vim conf/gitolite.conf |
24 | 1 | Yanick Delarbre | repo gitolite-admin |
25 | 1 | Yanick Delarbre | RW+ = user |
26 | 1 | Yanick Delarbre | |
27 | 1 | Yanick Delarbre | repo testing |
28 | 1 | Yanick Delarbre | RW+ = @all |
29 | 1 | Yanick Delarbre | |
30 | 1 | Yanick Delarbre | repo agregation |
31 | 1 | Yanick Delarbre | RW+ = user nebula jocelyn fernando |
32 | 1 | Yanick Delarbre | R = daemon |
33 | 1 | Yanick Delarbre | |
34 | 1 | Yanick Delarbre | client$ git add conf/gitolite.conf key/* |
35 | 1 | Yanick Delarbre | client$ git commit -m "add repo agregation + git-daemon in R" |
36 | 1 | Yanick Delarbre | #Note: toutes la confiration s'applique grâce à un hook. Donc il suffit de "pusher" la configuration vers le serveur |
37 | 1 | Yanick Delarbre | client$ git push |
38 | 1 | Yanick Delarbre | |
39 | 2 | Yanick Delarbre | </pre> |
40 | 2 | Yanick Delarbre | |
41 | 2 | Yanick Delarbre | h2. Rendre le le(s) repository(s) public |
42 | 2 | Yanick Delarbre | |
43 | 2 | Yanick Delarbre | <pre> |
44 | 1 | Yanick Delarbre | server# apt-get install git-daemon-run -y |
45 | 1 | Yanick Delarbre | server# vim /etc/init.d/git-daemon |
46 | 4 | Jocelyn Dealande | server# chmod +x /etc/init.d/git-daemon |
47 | 1 | Yanick Delarbre | </pre> |
48 | 1 | Yanick Delarbre | |
49 | 1 | Yanick Delarbre | Le fichier git-daemon pour éviter d'utliser sv. |
50 | 1 | Yanick Delarbre | |
51 | 1 | Yanick Delarbre | <pre> |
52 | 1 | Yanick Delarbre | #!/bin/sh |
53 | 1 | Yanick Delarbre | |
54 | 1 | Yanick Delarbre | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:\ |
55 | 1 | Yanick Delarbre | /usr/bin:/usr/lib/git-core |
56 | 1 | Yanick Delarbre | NAME=git-daemon |
57 | 1 | Yanick Delarbre | PIDFILE=/var/run/$NAME.pid |
58 | 1 | Yanick Delarbre | DESC="git daemon" |
59 | 1 | Yanick Delarbre | DAEMON=/usr/lib/git-core/git-daemon |
60 | 1 | Yanick Delarbre | DAEMON_OPTS="--base-path=/var/lib/gitolite/repositories --verbose \ |
61 | 1 | Yanick Delarbre | --syslog --detach --pid-file=$PIDFILE --user=gitolite \ |
62 | 1 | Yanick Delarbre | --group=nogroup --enable=receive-pack" |
63 | 1 | Yanick Delarbre | |
64 | 1 | Yanick Delarbre | test -x $DAEMON || exit 0 |
65 | 1 | Yanick Delarbre | |
66 | 1 | Yanick Delarbre | [ -r /etc/default/git-daemon ] && . /etc/default/git-daemon |
67 | 1 | Yanick Delarbre | |
68 | 1 | Yanick Delarbre | . /lib/lsb/init-functions |
69 | 1 | Yanick Delarbre | |
70 | 1 | Yanick Delarbre | start_git() { |
71 | 1 | Yanick Delarbre | start-stop-daemon --start --quiet --pidfile $PIDFILE \ |
72 | 1 | Yanick Delarbre | --startas $DAEMON -- $DAEMON_OPTS |
73 | 1 | Yanick Delarbre | } |
74 | 1 | Yanick Delarbre | |
75 | 1 | Yanick Delarbre | stop_git() { |
76 | 1 | Yanick Delarbre | start-stop-daemon --stop --quiet --pidfile $PIDFILE |
77 | 1 | Yanick Delarbre | rm -f $PIDFILE |
78 | 1 | Yanick Delarbre | } |
79 | 1 | Yanick Delarbre | |
80 | 1 | Yanick Delarbre | status_git() { |
81 | 1 | Yanick Delarbre | start-stop-daemon --stop --test --quiet --pidfile $PIDFILE >/dev/null 2>&1 |
82 | 1 | Yanick Delarbre | } |
83 | 1 | Yanick Delarbre | |
84 | 1 | Yanick Delarbre | case "$1" in |
85 | 1 | Yanick Delarbre | start) |
86 | 1 | Yanick Delarbre | log_begin_msg "Starting $DESC" |
87 | 1 | Yanick Delarbre | start_git |
88 | 1 | Yanick Delarbre | log_end_msg 0 |
89 | 1 | Yanick Delarbre | ;; |
90 | 1 | Yanick Delarbre | stop) |
91 | 1 | Yanick Delarbre | log_begin_msg "Stopping $DESC" |
92 | 1 | Yanick Delarbre | stop_git |
93 | 1 | Yanick Delarbre | log_end_msg 0 |
94 | 1 | Yanick Delarbre | ;; |
95 | 1 | Yanick Delarbre | status) |
96 | 1 | Yanick Delarbre | log_begin_msg "Testing $DESC: " |
97 | 1 | Yanick Delarbre | if status_git |
98 | 1 | Yanick Delarbre | then |
99 | 1 | Yanick Delarbre | log_success_msg "Running" |
100 | 1 | Yanick Delarbre | exit 0 |
101 | 1 | Yanick Delarbre | else |
102 | 1 | Yanick Delarbre | log_failure_msg "Not running" |
103 | 1 | Yanick Delarbre | exit 1 |
104 | 1 | Yanick Delarbre | fi |
105 | 1 | Yanick Delarbre | ;; |
106 | 1 | Yanick Delarbre | restart|force-reload) |
107 | 1 | Yanick Delarbre | log_begin_msg "Restarting $DESC" |
108 | 1 | Yanick Delarbre | stop_git |
109 | 1 | Yanick Delarbre | sleep 1 |
110 | 1 | Yanick Delarbre | start_git |
111 | 1 | Yanick Delarbre | log_end_msg 0 |
112 | 1 | Yanick Delarbre | ;; |
113 | 1 | Yanick Delarbre | *) |
114 | 1 | Yanick Delarbre | echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2 |
115 | 1 | Yanick Delarbre | exit 1 |
116 | 1 | Yanick Delarbre | ;; |
117 | 1 | Yanick Delarbre | esac |
118 | 1 | Yanick Delarbre | |
119 | 1 | Yanick Delarbre | exit 0 |
120 | 1 | Yanick Delarbre | </pre> |
121 | 1 | Yanick Delarbre | |
122 | 2 | Yanick Delarbre | Et enfin, rendre ce service "automatique": |
123 | 1 | Yanick Delarbre | <pre> |
124 | 3 | Jocelyn Dealande | server# update-rc.d git-daemon defaults |
125 | 2 | Yanick Delarbre | </pre> |
126 | 1 | Yanick Delarbre | |
127 | 2 | Yanick Delarbre | h2. Pour cloner le repository soit en public avec un utilisateur (dont la clé a déjà été copier vers le repository-admin) |
128 | 2 | Yanick Delarbre | |
129 | 2 | Yanick Delarbre | <pre> |
130 | 1 | Yanick Delarbre | client_git_public$ git clone git://rhizome-fai.tetaneutral.net/agregation.git |
131 | 1 | Yanick Delarbre | client_git_user$ git clone gitolite@rhizome-fai.tetaneutral.net:agregation.git |
132 | 1 | Yanick Delarbre | |
133 | 1 | Yanick Delarbre | </pre> |
134 | 1 | Yanick Delarbre | |
135 | 1 | Yanick Delarbre | h2. Les sources |
136 | 1 | Yanick Delarbre | |
137 | 1 | Yanick Delarbre | http://doc.ubuntu-fr.org/gitolite#rendre_un_depot_public |
138 | 1 | Yanick Delarbre | http://computercamp.cdwilson.us/git-gitolite-git-daemon-gitweb-setup-on-ubunt |