Commit ad2e4feb5eb0b671dd569c776c9209f864da9318
1 parent
65b601fe
Exists in
master
and in
4 other branches
move the update instructions for 4.2 to 5.0 from the Wiki into the Repo.
Showing
1 changed file
with
163 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,163 @@ | @@ -0,0 +1,163 @@ | ||
1 | +# From 4.2 to 5.0 | ||
2 | + | ||
3 | +## Important changes | ||
4 | + | ||
5 | +* We dont use `gitlab` user any more. Everything will be moved to `git` user | ||
6 | +* __requires ruby1.9.3__ | ||
7 | + | ||
8 | + | ||
9 | +__0. Stop gitlab__ | ||
10 | + | ||
11 | + sudo service gitlab stop | ||
12 | + | ||
13 | +__1. add bash to git user__ | ||
14 | + | ||
15 | +``` | ||
16 | +sudo chsh -s /bin/bash git | ||
17 | +``` | ||
18 | + | ||
19 | +__2. git clone gitlab-shell__ | ||
20 | + | ||
21 | +``` | ||
22 | +sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git /home/git/gitlab-shell | ||
23 | +``` | ||
24 | + | ||
25 | +__3. setup gitlab-shell__ | ||
26 | + | ||
27 | +```bash | ||
28 | +# chmod all repos and files under git | ||
29 | +sudo chown git:git -R /home/git/repositories/ | ||
30 | + | ||
31 | +# login as git | ||
32 | +sudo su git | ||
33 | +cd /home/git/gitlab-shell | ||
34 | + | ||
35 | +# copy config | ||
36 | +cp config.yml.example config.yml | ||
37 | + | ||
38 | +# change url to gitlab instance | ||
39 | +# ! make sure url end with '/' like 'https://gitlab.example/' | ||
40 | +vim config.yml | ||
41 | + | ||
42 | +# rewrite hooks | ||
43 | +./support/rewrite-hooks.sh | ||
44 | + | ||
45 | +# check ruby version for git user ( 1.9 required!! ) | ||
46 | +# gitlab shell requires system ruby 1.9 | ||
47 | +ruby -v | ||
48 | + | ||
49 | +# exit from git user | ||
50 | +exit | ||
51 | +``` | ||
52 | + | ||
53 | +__4. Copy gitlab instance to git user__ | ||
54 | + | ||
55 | +```bash | ||
56 | +sudo cp -R /home/gitlab/gitlab /home/git/gitlab | ||
57 | +sudo chown git:git -R /home/git/gitlab | ||
58 | +sudo rm -rf /home/gitlab/gitlab-satellites | ||
59 | + | ||
60 | +# if exists | ||
61 | +sudo rm /tmp/gitlab.socket | ||
62 | +``` | ||
63 | + | ||
64 | +__5. Update gitlab to recent version__ | ||
65 | + | ||
66 | +```bash | ||
67 | +cd /home/git/gitlab | ||
68 | + | ||
69 | +# backup current config | ||
70 | +sudo -u git -H cp config/gitlab.yml config/gitlab.yml.old | ||
71 | + | ||
72 | +sudo -u git -H git fetch | ||
73 | +sudo -u git -H git checkout 5-0-stable | ||
74 | + | ||
75 | +# replace config with recent one | ||
76 | +sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml | ||
77 | + | ||
78 | +# edit it | ||
79 | +sudo -u git -H vim config/gitlab.yml | ||
80 | + | ||
81 | + | ||
82 | +sudo -u git -H bundle install --without development test postgres --deployment | ||
83 | +sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production | ||
84 | +sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production | ||
85 | +sudo -u git -H bundle exec rake gitlab:shell:build_missing_projects RAILS_ENV=production | ||
86 | + | ||
87 | +sudo -u git -H mkdir /home/git/gitlab-satellites | ||
88 | +sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production | ||
89 | + | ||
90 | +# migrate wiki to git | ||
91 | +sudo -u git -H bundle exec rake gitlab:wiki:migrate RAILS_ENV=production | ||
92 | + | ||
93 | + | ||
94 | +# check permissions for /home/git/.ssh/ | ||
95 | +sudo -u git -H chmod 700 /home/git/.ssh | ||
96 | +sudo -u git -H chmod 600 /home/git/.ssh/authorized_keys | ||
97 | + | ||
98 | +# check permissions for /home/git/gitlab/ | ||
99 | +sudo chown -R git /home/git/gitlab/log/ | ||
100 | +sudo chown -R git /home/git/gitlab/tmp/ | ||
101 | +sudo chmod -R u+rwX /home/git/gitlab/log/ | ||
102 | +sudo chmod -R u+rwX /home/git/gitlab/tmp/ | ||
103 | +sudo -u git -H mkdir /home/git/gitlab/tmp/pids/ | ||
104 | +sudo chmod -R u+rwX /home/git/gitlab/tmp/pids | ||
105 | + | ||
106 | +``` | ||
107 | + | ||
108 | +__6. Update init.d script and nginx config__ | ||
109 | + | ||
110 | +```bash | ||
111 | +# init.d | ||
112 | +sudo rm /etc/init.d/gitlab | ||
113 | +sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/init.d/gitlab | ||
114 | +sudo chmod +x /etc/init.d/gitlab | ||
115 | + | ||
116 | +# unicorn | ||
117 | +sudo -u git -H cp /home/git/gitlab/config/unicorn.rb /home/git/gitlab/config/unicorn.rb.old | ||
118 | +sudo -u git -H cp /home/git/gitlab/config/unicorn.rb.example /home/git/gitlab/config/unicorn.rb | ||
119 | + | ||
120 | +#nginx | ||
121 | +# Replace path from '/home/gitlab/' to '/home/git/' | ||
122 | +sudo vim /etc/nginx/sites-enabled/gitlab | ||
123 | +sudo service nginx restart | ||
124 | + | ||
125 | + | ||
126 | +``` | ||
127 | + | ||
128 | +__7. Start gitlab instace__ | ||
129 | + | ||
130 | +``` | ||
131 | + | ||
132 | + | ||
133 | +sudo service gitlab start | ||
134 | + | ||
135 | +# check if unicorn and sidekiq started | ||
136 | +# If not try to logout, also check replaced path from '/home/gitlab/' to '/home/git/' | ||
137 | +# in nginx, unicorn, init.d etc | ||
138 | +ps aux | grep unicorn | ||
139 | +ps aux | grep sidekiq | ||
140 | + | ||
141 | +``` | ||
142 | + | ||
143 | +__8. Check installation__ | ||
144 | + | ||
145 | + | ||
146 | +```bash | ||
147 | +# In 5-10 seconds lets check gitlab-shell | ||
148 | +sudo -u git -H /home/git/gitlab-shell/bin/check | ||
149 | + | ||
150 | +# Example of success output | ||
151 | +# Check GitLab API access: OK | ||
152 | +# Check directories and files: | ||
153 | +# /home/git/repositories: OK | ||
154 | +# /home/git/.ssh/authorized_keys: OK | ||
155 | + | ||
156 | + | ||
157 | +# Now check gitlab instance | ||
158 | +sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production | ||
159 | + | ||
160 | +``` | ||
161 | + | ||
162 | + | ||
163 | +__P.S. If everything works as expected you can remove gitlab user from system__ |