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(){
mpid
=
0
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.
...
...
@@ -144,7 +151,15 @@ check_status(){
mail_room_status
=
"-1"
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
else
# http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
...
...
@@ -186,12 +201,19 @@ check_stale_pids(){
exit
1
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.
exit_if_not_running
(){
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."
exit
fi
...
...
@@ -213,6 +235,9 @@ start_gitlab() {
if
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
!=
"0"
]
;
then
echo
"Starting GitLab MailRoom"
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.
if
[
"
$web_status
"
=
"0"
]
;
then
...
...
@@ -252,6 +277,16 @@ start_gitlab() {
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_pids
# Finally check the status to tell wether or not GitLab is running
...
...
@@ -278,13 +313,17 @@ stop_gitlab() {
echo
"Shutting down GitLab MailRoom"
RAILS_ENV
=
$RAILS_ENV
bin/mail_room stop
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.
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
check_status
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
"
break
fi
...
...
@@ -298,6 +337,7 @@ stop_gitlab() {
if
[
"
$mail_room_enabled
"
=
true
]
;
then
rm
"
$mail_room_pid_path
"
2>/dev/null
fi
rm
-f
"
$gitlab_pages_pid_path
"
print_status
}
...
...
@@ -305,7 +345,7 @@ stop_gitlab() {
## Prints the status of GitLab and its components.
print_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."
return
fi
...
...
@@ -331,7 +371,14 @@ print_status() {
printf
"The GitLab MailRoom email processor 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"
]
;
}
;
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
"
fi
}
...
...
@@ -362,7 +409,7 @@ reload_gitlab(){
## Restarts Sidekiq and Unicorn.
restart_gitlab
(){
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
fi
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"
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"
# 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.
# This is required for the Reply by email feature.
# 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