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
| @@ -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 |
Gemfile
| @@ -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 |
Gemfile.lock
| @@ -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 |