Commit 7c55c73d6318004242b192c7c6ce17cc57e45760

Authored by Sytse Sijbrandij
1 parent 6ec73fc9

Fix confusing situation where install guide told you to install init.d script for puma.

@@ -19,7 +19,6 @@ config/gitlab.yml @@ -19,7 +19,6 @@ config/gitlab.yml
19 config/database.yml 19 config/database.yml
20 config/initializers/omniauth.rb 20 config/initializers/omniauth.rb
21 config/unicorn.rb 21 config/unicorn.rb
22 -config/puma.rb  
23 config/resque.yml 22 config/resque.yml
24 config/aws.yml 23 config/aws.yml
25 db/data.yml 24 db/data.yml
@@ -76,8 +76,7 @@ gem "github-markup", "~> 0.7.4", require: 'github/markup' @@ -76,8 +76,7 @@ gem "github-markup", "~> 0.7.4", require: 'github/markup'
76 # Asciidoc to HTML 76 # Asciidoc to HTML
77 gem "asciidoctor" 77 gem "asciidoctor"
78 78
79 -# Servers  
80 -gem "puma", '~> 2.3.1', group: :puma 79 +# Application server
81 gem "unicorn", '~> 4.6.3', group: :unicorn 80 gem "unicorn", '~> 4.6.3', group: :unicorn
82 81
83 # State machine 82 # State machine
@@ -331,8 +331,6 @@ GEM @@ -331,8 +331,6 @@ GEM
331 coderay (~> 1.0.5) 331 coderay (~> 1.0.5)
332 method_source (~> 0.8) 332 method_source (~> 0.8)
333 slop (~> 3.4) 333 slop (~> 3.4)
334 - puma (2.3.1)  
335 - rack (>= 1.1, < 2.0)  
336 pygments.rb (0.4.2) 334 pygments.rb (0.4.2)
337 posix-spawn (~> 0.3.6) 335 posix-spawn (~> 0.3.6)
338 yajl-ruby (~> 1.1.0) 336 yajl-ruby (~> 1.1.0)
@@ -608,7 +606,6 @@ DEPENDENCIES @@ -608,7 +606,6 @@ DEPENDENCIES
608 pg 606 pg
609 poltergeist (~> 1.3.0) 607 poltergeist (~> 1.3.0)
610 pry 608 pry
611 - puma (~> 2.3.1)  
612 quiet_assets (~> 1.0.1) 609 quiet_assets (~> 1.0.1)
613 rack-mini-profiler 610 rack-mini-profiler
614 rails (= 3.2.13) 611 rails (= 3.2.13)
config/puma.rb.example
@@ -1,93 +0,0 @@ @@ -1,93 +0,0 @@
1 -#!/usr/bin/env puma  
2 -  
3 -# Start Puma with next command:  
4 -# RAILS_ENV=production bundle exec puma -C ./config/puma.rb  
5 -  
6 -# uncomment and customize to run in non-root path  
7 -# note that config/gitlab.yml web path should also be changed  
8 -# ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"  
9 -  
10 -application_path = '/home/git/gitlab'  
11 -directory application_path  
12 -environment 'production'  
13 -daemonize true  
14 -pidfile "#{application_path}/tmp/pids/puma.pid"  
15 -state_path "#{application_path}/tmp/pids/puma.state"  
16 -stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"  
17 -  
18 -# Configure “min” to be the minimum number of threads to use to answer  
19 -# requests and “max” the maximum.  
20 -#  
21 -# The default is “0, 16”.  
22 -#  
23 -# threads 0, 16  
24 -  
25 -# Bind the server to “url”. “tcp://”, “unix://” and “ssl://” are the only  
26 -# accepted protocols.  
27 -#  
28 -# The default is “tcp://0.0.0.0:9292”.  
29 -#  
30 -# bind 'tcp://0.0.0.0:9292'  
31 -# bind 'unix:///var/run/puma.sock'  
32 -# bind 'unix:///var/run/puma.sock?umask=0777'  
33 -# bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'  
34 -bind "unix://#{application_path}/tmp/sockets/gitlab.socket"  
35 -  
36 -# Instead of “bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'” you  
37 -# can also use the “ssl_bind” option.  
38 -#  
39 -# ssl_bind '127.0.0.1', '9292', { key: path_to_key, cert: path_to_cert }  
40 -  
41 -# Code to run before doing a restart. This code should  
42 -# close log files, database connections, etc.  
43 -#  
44 -# This can be called multiple times to add code each time.  
45 -#  
46 -# on_restart do  
47 -# puts 'On restart...'  
48 -# end  
49 -  
50 -# Command to use to restart puma. This should be just how to  
51 -# load puma itself (ie. 'ruby -Ilib bin/puma'), not the arguments  
52 -# to puma, as those are the same as the original process.  
53 -#  
54 -# restart_command '/u/app/lolcat/bin/restart_puma'  
55 -  
56 -# === Cluster mode ===  
57 -  
58 -# How many worker processes to run.  
59 -#  
60 -# The default is “0”.  
61 -#  
62 -# workers 2  
63 -  
64 -# GitLab cluster mode recommendations  
65 -# If you have more than 1 GB RAM, uncomment one of the following lines:  
66 -#  
67 -# workers 2 # if you have at least 1.5 GB RAM  
68 -# workers 3 # if you have at least 2 GB RAM  
69 -# workers 4 # if you have at least 2.5 GB RAM  
70 -  
71 -# Code to run when a worker boots to setup the process before booting  
72 -# the app.  
73 -#  
74 -# This can be called multiple times to add hooks.  
75 -#  
76 -# on_worker_boot do  
77 -# puts 'On worker boot...'  
78 -# end  
79 -  
80 -# === Puma control rack application ===  
81 -  
82 -# Start the puma control rack application on “url”. This application can  
83 -# be communicated with to control the main server. Additionally, you can  
84 -# provide an authentication token, so all requests to the control server  
85 -# will need to include that token as a query parameter. This allows for  
86 -# simple authentication.  
87 -#  
88 -# Check out https://github.com/puma/puma/blob/master/lib/puma/app/status.rb  
89 -# to see what the app has available.  
90 -#  
91 -# activate_control_app 'unix:///var/run/pumactl.sock'  
92 -# activate_control_app 'unix:///var/run/pumactl.sock', { auth_token: '12345' }  
93 -# activate_control_app 'unix:///var/run/pumactl.sock', { no_token: true }  
doc/make_release.md
@@ -29,7 +29,7 @@ Check if any of these changed since last release (~22nd of last month depending @@ -29,7 +29,7 @@ Check if any of these changed since last release (~22nd of last month depending
29 * https://github.com/gitlabhq/gitlabhq/commits/master/lib/support/nginx/gitlab 29 * https://github.com/gitlabhq/gitlabhq/commits/master/lib/support/nginx/gitlab
30 * https://github.com/gitlabhq/gitlab-shell/commits/master/config.yml.example 30 * https://github.com/gitlabhq/gitlab-shell/commits/master/config.yml.example
31 * https://github.com/gitlabhq/gitlabhq/commits/master/config/gitlab.yml.example 31 * https://github.com/gitlabhq/gitlabhq/commits/master/config/gitlab.yml.example
32 -* https://github.com/gitlabhq/gitlabhq/commits/master/config/puma.rb.example 32 +* https://github.com/gitlabhq/gitlabhq/commits/master/config/unicorn.rb.example
33 * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.mysql 33 * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.mysql
34 * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.postgresql 34 * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.postgresql
35 35
lib/support/init.d/gitlab
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 # GITLAB 3 # GITLAB
4 # Maintainer: @randx 4 # Maintainer: @randx
5 -# App Version: 5.2 5 +# App Version: 6.0
6 6
7 ### BEGIN INIT INFO 7 ### BEGIN INIT INFO
8 # Provides: gitlab 8 # Provides: gitlab
@@ -17,11 +17,10 @@ @@ -17,11 +17,10 @@
17 17
18 APP_ROOT="/home/git/gitlab" 18 APP_ROOT="/home/git/gitlab"
19 APP_USER="git" 19 APP_USER="git"
20 -DAEMON_OPTS="-C $APP_ROOT/config/puma.rb" 20 +DAEMON_OPTS="-c $APP_ROOT/config/unicorn.rb -E production"
21 PID_PATH="$APP_ROOT/tmp/pids" 21 PID_PATH="$APP_ROOT/tmp/pids"
22 SOCKET_PATH="$APP_ROOT/tmp/sockets" 22 SOCKET_PATH="$APP_ROOT/tmp/sockets"
23 -SOCKET_FILE="$SOCKET_PATH/gitlab.socket"  
24 -WEB_SERVER_PID="$PID_PATH/puma.pid" 23 +WEB_SERVER_PID="$PID_PATH/unicorn.pid"
25 SIDEKIQ_PID="$PID_PATH/sidekiq.pid" 24 SIDEKIQ_PID="$PID_PATH/sidekiq.pid"
26 STOP_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:stop" 25 STOP_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:stop"
27 START_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:start" 26 START_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:start"
@@ -52,8 +51,8 @@ start() { @@ -52,8 +51,8 @@ start() {
52 exit 1 51 exit 1
53 else 52 else
54 if [ `whoami` = root ]; then 53 if [ `whoami` = root ]; then
55 - ! [ -e $SOCKET_FILE ] || execute "rm $SOCKET_FILE"  
56 - execute "RAILS_ENV=production bundle exec puma $DAEMON_OPTS" 54 + execute "rm -f $SOCKET_PATH/gitlab.socket"
  55 + execute "RAILS_ENV=production bundle exec unicorn_rails $DAEMON_OPTS > /dev/null 2>&1 &"
57 execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &" 56 execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &"
58 echo "$DESC started" 57 echo "$DESC started"
59 fi 58 fi
@@ -66,13 +65,12 @@ stop() { @@ -66,13 +65,12 @@ stop() {
66 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then 65 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then
67 ## Program is running, stop it. 66 ## Program is running, stop it.
68 kill -QUIT `cat $WEB_SERVER_PID` 67 kill -QUIT `cat $WEB_SERVER_PID`
69 - ! [ -e $SOCKET_FILE ] || execute "rm $SOCKET_FILE"  
70 execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &" 68 execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &"
71 rm "$WEB_SERVER_PID" >> /dev/null 69 rm "$WEB_SERVER_PID" >> /dev/null
72 echo "$DESC stopped" 70 echo "$DESC stopped"
73 else 71 else
74 ## Program is not running, exit with error. 72 ## Program is not running, exit with error.
75 - echo "Error! $DESC is not started!" 73 + echo "Error! $DESC not started!"
76 exit 1 74 exit 1
77 fi 75 fi
78 } 76 }
@@ -83,7 +81,7 @@ restart() { @@ -83,7 +81,7 @@ restart() {
83 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then 81 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then
84 echo "Restarting $DESC..." 82 echo "Restarting $DESC..."
85 kill -USR2 `cat $WEB_SERVER_PID` 83 kill -USR2 `cat $WEB_SERVER_PID`
86 - execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1" 84 + execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &"
87 if [ `whoami` = root ]; then 85 if [ `whoami` = root ]; then
88 execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &" 86 execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &"
89 fi 87 fi
@@ -98,7 +96,7 @@ status() { @@ -98,7 +96,7 @@ status() {
98 cd $APP_ROOT 96 cd $APP_ROOT
99 check_pid 97 check_pid
100 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then 98 if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then
101 - echo "$DESC / Puma with PID $PID is running." 99 + echo "$DESC / Unicorn with PID $PID is running."
102 echo "$DESC / Sidekiq with PID $SPID is running." 100 echo "$DESC / Sidekiq with PID $SPID is running."
103 else 101 else
104 echo "$DESC is not running." 102 echo "$DESC is not running."
lib/support/init.d/gitlab_unicorn
@@ -1,138 +0,0 @@ @@ -1,138 +0,0 @@
1 -#! /bin/bash  
2 -  
3 -# GITLAB  
4 -# Maintainer: @randx  
5 -# App Version: 6.0  
6 -  
7 -### BEGIN INIT INFO  
8 -# Provides: gitlab  
9 -# Required-Start: $local_fs $remote_fs $network $syslog redis-server  
10 -# Required-Stop: $local_fs $remote_fs $network $syslog  
11 -# Default-Start: 2 3 4 5  
12 -# Default-Stop: 0 1 6  
13 -# Short-Description: GitLab git repository management  
14 -# Description: GitLab git repository management  
15 -### END INIT INFO  
16 -  
17 -  
18 -APP_ROOT="/home/git/gitlab"  
19 -APP_USER="git"  
20 -DAEMON_OPTS="-c $APP_ROOT/config/unicorn.rb -E production"  
21 -PID_PATH="$APP_ROOT/tmp/pids"  
22 -SOCKET_PATH="$APP_ROOT/tmp/sockets"  
23 -WEB_SERVER_PID="$PID_PATH/unicorn.pid"  
24 -SIDEKIQ_PID="$PID_PATH/sidekiq.pid"  
25 -STOP_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:stop"  
26 -START_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:start"  
27 -NAME="gitlab"  
28 -DESC="GitLab service"  
29 -  
30 -check_pid(){  
31 - if [ -f $WEB_SERVER_PID ]; then  
32 - PID=`cat $WEB_SERVER_PID`  
33 - SPID=`cat $SIDEKIQ_PID`  
34 - STATUS=`ps aux | grep $PID | grep -v grep | wc -l`  
35 - else  
36 - STATUS=0  
37 - PID=0  
38 - fi  
39 -}  
40 -  
41 -execute() {  
42 - sudo -u $APP_USER -H bash -l -c "$1"  
43 -}  
44 -  
45 -start() {  
46 - cd $APP_ROOT  
47 - check_pid  
48 - if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then  
49 - # Program is running, exit with error code 1.  
50 - echo "Error! $DESC $NAME is currently running!"  
51 - exit 1  
52 - else  
53 - if [ `whoami` = root ]; then  
54 - execute "rm -f $SOCKET_PATH/gitlab.socket"  
55 - execute "RAILS_ENV=production bundle exec unicorn_rails $DAEMON_OPTS > /dev/null 2>&1 &"  
56 - execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &"  
57 - echo "$DESC started"  
58 - fi  
59 - fi  
60 -}  
61 -  
62 -stop() {  
63 - cd $APP_ROOT  
64 - check_pid  
65 - if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then  
66 - ## Program is running, stop it.  
67 - kill -QUIT `cat $WEB_SERVER_PID`  
68 - execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &"  
69 - rm "$WEB_SERVER_PID" >> /dev/null  
70 - echo "$DESC stopped"  
71 - else  
72 - ## Program is not running, exit with error.  
73 - echo "Error! $DESC not started!"  
74 - exit 1  
75 - fi  
76 -}  
77 -  
78 -restart() {  
79 - cd $APP_ROOT  
80 - check_pid  
81 - if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then  
82 - echo "Restarting $DESC..."  
83 - kill -USR2 `cat $WEB_SERVER_PID`  
84 - execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &"  
85 - if [ `whoami` = root ]; then  
86 - execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &"  
87 - fi  
88 - echo "$DESC restarted."  
89 - else  
90 - echo "Error, $NAME not running!"  
91 - exit 1  
92 - fi  
93 -}  
94 -  
95 -status() {  
96 - cd $APP_ROOT  
97 - check_pid  
98 - if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then  
99 - echo "$DESC / Puma with PID $PID is running."  
100 - echo "$DESC / Sidekiq with PID $SPID is running."  
101 - else  
102 - echo "$DESC is not running."  
103 - exit 1  
104 - fi  
105 -}  
106 -  
107 -## Check to see if we are running as root first.  
108 -## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html  
109 -if [ "$(id -u)" != "0" ]; then  
110 - echo "This script must be run as root"  
111 - exit 1  
112 -fi  
113 -  
114 -case "$1" in  
115 - start)  
116 - start  
117 - ;;  
118 - stop)  
119 - stop  
120 - ;;  
121 - restart)  
122 - restart  
123 - ;;  
124 - reload|force-reload)  
125 - echo -n "Reloading $NAME configuration: "  
126 - kill -HUP `cat $PID`  
127 - echo "done."  
128 - ;;  
129 - status)  
130 - status  
131 - ;;  
132 - *)  
133 - echo "Usage: sudo service gitlab {start|stop|restart|reload}" >&2  
134 - exit 1  
135 - ;;  
136 -esac  
137 -  
138 -exit 0