Commit 7c55c73d6318004242b192c7c6ce17cc57e45760
1 parent
6ec73fc9
Exists in
master
and in
4 other branches
Fix confusing situation where install guide told you to install init.d script for puma.
Showing
7 changed files
with
10 additions
and
248 deletions
Show diff stats
.gitignore
Gemfile
| ... | ... | @@ -76,8 +76,7 @@ gem "github-markup", "~> 0.7.4", require: 'github/markup' |
| 76 | 76 | # Asciidoc to HTML |
| 77 | 77 | gem "asciidoctor" |
| 78 | 78 | |
| 79 | -# Servers | |
| 80 | -gem "puma", '~> 2.3.1', group: :puma | |
| 79 | +# Application server | |
| 81 | 80 | gem "unicorn", '~> 4.6.3', group: :unicorn |
| 82 | 81 | |
| 83 | 82 | # State machine | ... | ... |
Gemfile.lock
| ... | ... | @@ -331,8 +331,6 @@ GEM |
| 331 | 331 | coderay (~> 1.0.5) |
| 332 | 332 | method_source (~> 0.8) |
| 333 | 333 | slop (~> 3.4) |
| 334 | - puma (2.3.1) | |
| 335 | - rack (>= 1.1, < 2.0) | |
| 336 | 334 | pygments.rb (0.4.2) |
| 337 | 335 | posix-spawn (~> 0.3.6) |
| 338 | 336 | yajl-ruby (~> 1.1.0) |
| ... | ... | @@ -608,7 +606,6 @@ DEPENDENCIES |
| 608 | 606 | pg |
| 609 | 607 | poltergeist (~> 1.3.0) |
| 610 | 608 | pry |
| 611 | - puma (~> 2.3.1) | |
| 612 | 609 | quiet_assets (~> 1.0.1) |
| 613 | 610 | rack-mini-profiler |
| 614 | 611 | rails (= 3.2.13) | ... | ... |
config/puma.rb.example
| ... | ... | @@ -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 | 29 | * https://github.com/gitlabhq/gitlabhq/commits/master/lib/support/nginx/gitlab |
| 30 | 30 | * https://github.com/gitlabhq/gitlab-shell/commits/master/config.yml.example |
| 31 | 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 | 33 | * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.mysql |
| 34 | 34 | * https://github.com/gitlabhq/gitlabhq/commits/master/config/database.yml.postgresql |
| 35 | 35 | ... | ... |
lib/support/init.d/gitlab
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | # GITLAB |
| 4 | 4 | # Maintainer: @randx |
| 5 | -# App Version: 5.2 | |
| 5 | +# App Version: 6.0 | |
| 6 | 6 | |
| 7 | 7 | ### BEGIN INIT INFO |
| 8 | 8 | # Provides: gitlab |
| ... | ... | @@ -17,11 +17,10 @@ |
| 17 | 17 | |
| 18 | 18 | APP_ROOT="/home/git/gitlab" |
| 19 | 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 | 21 | PID_PATH="$APP_ROOT/tmp/pids" |
| 22 | 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 | 24 | SIDEKIQ_PID="$PID_PATH/sidekiq.pid" |
| 26 | 25 | STOP_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:stop" |
| 27 | 26 | START_SIDEKIQ="RAILS_ENV=production bundle exec rake sidekiq:start" |
| ... | ... | @@ -52,8 +51,8 @@ start() { |
| 52 | 51 | exit 1 |
| 53 | 52 | else |
| 54 | 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 | 56 | execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &" |
| 58 | 57 | echo "$DESC started" |
| 59 | 58 | fi |
| ... | ... | @@ -66,13 +65,12 @@ stop() { |
| 66 | 65 | if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then |
| 67 | 66 | ## Program is running, stop it. |
| 68 | 67 | kill -QUIT `cat $WEB_SERVER_PID` |
| 69 | - ! [ -e $SOCKET_FILE ] || execute "rm $SOCKET_FILE" | |
| 70 | 68 | execute "mkdir -p $PID_PATH && $STOP_SIDEKIQ > /dev/null 2>&1 &" |
| 71 | 69 | rm "$WEB_SERVER_PID" >> /dev/null |
| 72 | 70 | echo "$DESC stopped" |
| 73 | 71 | else |
| 74 | 72 | ## Program is not running, exit with error. |
| 75 | - echo "Error! $DESC is not started!" | |
| 73 | + echo "Error! $DESC not started!" | |
| 76 | 74 | exit 1 |
| 77 | 75 | fi |
| 78 | 76 | } |
| ... | ... | @@ -83,7 +81,7 @@ restart() { |
| 83 | 81 | if [ "$PID" -ne 0 -a "$STATUS" -ne 0 ]; then |
| 84 | 82 | echo "Restarting $DESC..." |
| 85 | 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 | 85 | if [ `whoami` = root ]; then |
| 88 | 86 | execute "mkdir -p $PID_PATH && $START_SIDEKIQ > /dev/null 2>&1 &" |
| 89 | 87 | fi |
| ... | ... | @@ -98,7 +96,7 @@ status() { |
| 98 | 96 | cd $APP_ROOT |
| 99 | 97 | check_pid |
| 100 | 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 | 100 | echo "$DESC / Sidekiq with PID $SPID is running." |
| 103 | 101 | else |
| 104 | 102 | echo "$DESC is not running." | ... | ... |
lib/support/init.d/gitlab_unicorn
| ... | ... | @@ -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 |