Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
af5e001e
Commit
af5e001e
authored
Feb 20, 2016
by
Achilleas Pipinellis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add init scripts for GitLab Pages daemon
parent
4cd1d171
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
78 additions
and
7 deletions
+78
-7
lib/support/init.d/gitlab
lib/support/init.d/gitlab
+54
-7
lib/support/init.d/gitlab.default.example
lib/support/init.d/gitlab.default.example
+24
-0
No files found.
lib/support/init.d/gitlab
View file @
af5e001e
...
@@ -89,6 +89,13 @@ check_pids(){
...
@@ -89,6 +89,13 @@ check_pids(){
mpid
=
0
mpid
=
0
fi
fi
fi
fi
if
[
"
$gitlab_pages_enabled
"
=
true
]
;
then
if
[
-f
"
$gitlab_pages_pid_path
"
]
;
then
gppid
=
$(
cat
"
$gitlab_pages_pid_path
"
)
else
gppid
=
0
fi
fi
}
}
## Called when we have started the two processes and are waiting for their pid files.
## Called when we have started the two processes and are waiting for their pid files.
...
@@ -144,7 +151,15 @@ check_status(){
...
@@ -144,7 +151,15 @@ check_status(){
mail_room_status
=
"-1"
mail_room_status
=
"-1"
fi
fi
fi
fi
if
[
$web_status
=
0
]
&&
[
$sidekiq_status
=
0
]
&&
[
$gitlab_workhorse_status
=
0
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
$mail_room_status
=
0
]
;
}
;
then
if
[
"
$gitlab_pages_enabled
"
=
true
]
;
then
if
[
$gppid
-ne
0
]
;
then
kill
-0
"
$gppid
"
2>/dev/null
gitlab_pages_status
=
"
$?
"
else
gitlab_pages_status
=
"-1"
fi
fi
if
[
$web_status
=
0
]
&&
[
$sidekiq_status
=
0
]
&&
[
$gitlab_workhorse_status
=
0
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
$mail_room_status
=
0
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
$gitlab_pages_status
=
0
]
;
}
;
then
gitlab_status
=
0
gitlab_status
=
0
else
else
# http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
# http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
...
@@ -186,12 +201,19 @@ check_stale_pids(){
...
@@ -186,12 +201,19 @@ check_stale_pids(){
exit
1
exit
1
fi
fi
fi
fi
if
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gppid
"
!=
"0"
]
&&
[
"
$gitlab_pages_status
"
!=
"0"
]
;
then
echo
"Removing stale GitLab Pages job dispatcher pid. This is most likely caused by GitLab Pages crashing the last time it ran."
if
!
rm
"
$gitlab_pages_pid_path
"
;
then
echo
"Unable to remove stale pid, exiting"
exit
1
fi
fi
}
}
## If no parts of the service is running, bail out.
## If no parts of the service is running, bail out.
exit_if_not_running
(){
exit_if_not_running
(){
check_stale_pids
check_stale_pids
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
;
then
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_status
"
!=
"0"
]
;
}
;
then
echo
"GitLab is not running."
echo
"GitLab is not running."
exit
exit
fi
fi
...
@@ -213,6 +235,9 @@ start_gitlab() {
...
@@ -213,6 +235,9 @@ start_gitlab() {
if
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
!=
"0"
]
;
then
if
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
!=
"0"
]
;
then
echo
"Starting GitLab MailRoom"
echo
"Starting GitLab MailRoom"
fi
fi
if
[
"gitlab_pages_enabled"
=
true
]
&&
[
"
$gitlab_pages_status
"
!=
"0"
]
;
then
echo
"Starting GitLab Pages"
fi
# Then check if the service is running. If it is: don't start again.
# Then check if the service is running. If it is: don't start again.
if
[
"
$web_status
"
=
"0"
]
;
then
if
[
"
$web_status
"
=
"0"
]
;
then
...
@@ -252,6 +277,16 @@ start_gitlab() {
...
@@ -252,6 +277,16 @@ start_gitlab() {
fi
fi
fi
fi
if
[
"
$gitlab_pages_enabled
"
=
true
]
;
then
if
[
"
$gitlab_pages_status
"
=
"0"
]
;
then
echo
"The GitLab Pages is already running with pid
$spid
, not restarting"
else
$app_root
/bin/daemon_with_pidfile
$gitlab_pages_pid_path
\
$gitlab_pages_dir
/gitlab-pages
$gitlab_pages_options
\
>>
$gitlab_pages_log
2>&1 &
fi
fi
# Wait for the pids to be planted
# Wait for the pids to be planted
wait_for_pids
wait_for_pids
# Finally check the status to tell wether or not GitLab is running
# Finally check the status to tell wether or not GitLab is running
...
@@ -278,13 +313,17 @@ stop_gitlab() {
...
@@ -278,13 +313,17 @@ stop_gitlab() {
echo
"Shutting down GitLab MailRoom"
echo
"Shutting down GitLab MailRoom"
RAILS_ENV
=
$RAILS_ENV
bin/mail_room stop
RAILS_ENV
=
$RAILS_ENV
bin/mail_room stop
fi
fi
if
[
"
$gitlab_pages_status
"
=
"0"
]
;
then
echo
"Shutting down gitlab-pages"
kill
--
$(
cat
$gitlab_pages_pid_path
)
fi
# If something needs to be stopped, lets wait for it to stop. Never use SIGKILL in a script.
# If something needs to be stopped, lets wait for it to stop. Never use SIGKILL in a script.
while
[
"
$web_status
"
=
"0"
]
||
[
"
$sidekiq_status
"
=
"0"
]
||
[
"
$gitlab_workhorse_status
"
=
"0"
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
=
"0"
]
;
}
;
do
while
[
"
$web_status
"
=
"0"
]
||
[
"
$sidekiq_status
"
=
"0"
]
||
[
"
$gitlab_workhorse_status
"
=
"0"
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
=
"0"
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_status
"
=
"0"
]
;
}
;
do
sleep
1
sleep
1
check_status
check_status
printf
"."
printf
"."
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
;
then
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_status
"
!=
"0"
]
;
}
;
then
printf
"
\n
"
printf
"
\n
"
break
break
fi
fi
...
@@ -298,6 +337,7 @@ stop_gitlab() {
...
@@ -298,6 +337,7 @@ stop_gitlab() {
if
[
"
$mail_room_enabled
"
=
true
]
;
then
if
[
"
$mail_room_enabled
"
=
true
]
;
then
rm
"
$mail_room_pid_path
"
2>/dev/null
rm
"
$mail_room_pid_path
"
2>/dev/null
fi
fi
rm
-f
"
$gitlab_pages_pid_path
"
print_status
print_status
}
}
...
@@ -305,7 +345,7 @@ stop_gitlab() {
...
@@ -305,7 +345,7 @@ stop_gitlab() {
## Prints the status of GitLab and its components.
## Prints the status of GitLab and its components.
print_status
()
{
print_status
()
{
check_status
check_status
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
;
then
if
[
"
$web_status
"
!=
"0"
]
&&
[
"
$sidekiq_status
"
!=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
!=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
!=
"0"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_status
"
!=
"0"
]
;
}
;
then
echo
"GitLab is not running."
echo
"GitLab is not running."
return
return
fi
fi
...
@@ -331,7 +371,14 @@ print_status() {
...
@@ -331,7 +371,14 @@ print_status() {
printf
"The GitLab MailRoom email processor is
\0
33[31mnot running
\0
33[0m.
\n
"
printf
"The GitLab MailRoom email processor is
\0
33[31mnot running
\0
33[0m.
\n
"
fi
fi
fi
fi
if
[
"
$web_status
"
=
"0"
]
&&
[
"
$sidekiq_status
"
=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
=
"0"
]
;
}
;
then
if
[
"
$gitlab_pages_enabled
"
=
true
]
;
then
if
[
"
$gitlab_pages_status
"
=
"0"
]
;
then
echo
"The GitLab Pages with pid
$mpid
is running."
else
printf
"The GitLab Pages is
\0
33[31mnot running
\0
33[0m.
\n
"
fi
fi
if
[
"
$web_status
"
=
"0"
]
&&
[
"
$sidekiq_status
"
=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
=
"0"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_status
"
=
"0"
]
;
}
;
then
printf
"GitLab and all its components are
\0
33[32mup and running
\0
33[0m.
\n
"
printf
"GitLab and all its components are
\0
33[32mup and running
\0
33[0m.
\n
"
fi
fi
}
}
...
@@ -362,7 +409,7 @@ reload_gitlab(){
...
@@ -362,7 +409,7 @@ reload_gitlab(){
## Restarts Sidekiq and Unicorn.
## Restarts Sidekiq and Unicorn.
restart_gitlab
(){
restart_gitlab
(){
check_status
check_status
if
[
"
$web_status
"
=
"0"
]
||
[
"
$sidekiq_status
"
=
"0"
]
||
[
"
$gitlab_workhorse
"
=
"0"
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
=
"0"
]
;
}
;
then
if
[
"
$web_status
"
=
"0"
]
||
[
"
$sidekiq_status
"
=
"0"
]
||
[
"
$gitlab_workhorse
"
=
"0"
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
=
"0"
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_status
"
=
"0"
]
;
}
;
then
stop_gitlab
stop_gitlab
fi
fi
start_gitlab
start_gitlab
...
...
lib/support/init.d/gitlab.default.example
View file @
af5e001e
...
@@ -47,6 +47,30 @@ gitlab_workhorse_pid_path="$pid_path/gitlab-workhorse.pid"
...
@@ -47,6 +47,30 @@ gitlab_workhorse_pid_path="$pid_path/gitlab-workhorse.pid"
gitlab_workhorse_options="-listenUmask 0 -listenNetwork unix -listenAddr $socket_path/gitlab-workhorse.socket -authBackend http://127.0.0.1:8080 -authSocket $socket_path/gitlab.socket -documentRoot $app_root/public"
gitlab_workhorse_options="-listenUmask 0 -listenNetwork unix -listenAddr $socket_path/gitlab-workhorse.socket -authBackend http://127.0.0.1:8080 -authSocket $socket_path/gitlab.socket -documentRoot $app_root/public"
gitlab_workhorse_log="$app_root/log/gitlab-workhorse.log"
gitlab_workhorse_log="$app_root/log/gitlab-workhorse.log"
# The GitLab Pages Daemon needs to use a separate IP address on which it will
# listen. You can also use different ports than 80 or 443 that will be
# forwarded to GitLab Pages Daemon.
#
# To enable HTTP support for custom domains add the `-listen-http` directive
# in `gitlab_pages_options` below.
# The value of -listen-http must be set to `gitlab.yml > pages > external_http`
# as well. For example:
#
# -listen-http 1.1.1.1:80
#
# To enable HTTPS support for custom domains add the `-listen-https`,
# `-root-cert` and `-root-key` directives in `gitlab_pages_options` below.
# The value of -listen-https must be set to `gitlab.yml > pages > external_https`
# as well. For example:
#
# -listen-https 1.1.1.1:443 -root-cert /path/to/example.com.crt -root-key /path/to/example.com.key
#
# The -pages-domain must be specified the same as in `gitlab.yml > pages > host`.
# Set `gitlab_pages_enabled=false` if you want to disable the Pages feature.
gitlab_pages_enabled=true
gitlab_pages_options="-pages-domain example.com -pages-root $app_root/shared/pages -listen-proxy 127.0.0.1:8282"
gitlab_pages_log="$app_root/log/gitlab-pages.log"
# mail_room_enabled specifies whether mail_room, which is used to process incoming email, is enabled.
# mail_room_enabled specifies whether mail_room, which is used to process incoming email, is enabled.
# This is required for the Reply by email feature.
# This is required for the Reply by email feature.
# The default is "false"
# The default is "false"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment