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
0
Merge Requests
0
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
Boxiang Sun
gitlab-ce
Commits
275b7797
Commit
275b7797
authored
Mar 14, 2017
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add gitaly source installation instructions
parent
49a9c2fb
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
118 additions
and
12 deletions
+118
-12
bin/with_env
bin/with_env
+16
-0
config/gitlab.yml.example
config/gitlab.yml.example
+1
-1
doc/install/installation.md
doc/install/installation.md
+27
-0
doc/update/8.17-to-9.0.md
doc/update/8.17-to-9.0.md
+11
-3
lib/support/init.d/gitlab
lib/support/init.d/gitlab
+59
-8
lib/support/init.d/gitlab.default.example
lib/support/init.d/gitlab.default.example
+4
-0
tmp/sockets/private/.gitkeep
tmp/sockets/private/.gitkeep
+0
-0
No files found.
bin/with_env
0 → 100755
View file @
275b7797
#!/bin/sh
# Usage: with_env ENV_FILE COMMAND [ARGS...]
#
# This script lets you modify the environment of an executable before
# launching it. It uses an 'env file' which must contain lines like
# 'MY_VARIABLE="my value"'.
#
env_file
=
$1
shift
# Use set -a to export all variables defined in env_file.
set
-a
.
"
${
env_file
}
"
set
+a
exec
"
$@
"
config/gitlab.yml.example
View file @
275b7797
...
@@ -450,7 +450,7 @@ production: &base
...
@@ -450,7 +450,7 @@ production: &base
# This setting is obsolete because we expect it to be moved under
# This setting is obsolete because we expect it to be moved under
# repositories/storages in GitLab 9.1.
# repositories/storages in GitLab 9.1.
#
#
# socket_path: tmp/sockets/gitaly.socket
# socket_path: tmp/sockets/
private/
gitaly.socket
#
#
# 4. Advanced settings
# 4. Advanced settings
...
...
doc/install/installation.md
View file @
275b7797
...
@@ -456,6 +456,33 @@ Make GitLab start on boot:
...
@@ -456,6 +456,33 @@ Make GitLab start on boot:
sudo update-rc.d gitlab defaults 21
sudo update-rc.d gitlab defaults 21
### Install Gitaly
As of GitLab 9.0 Gitaly is an
**optional**
component. Its
configuration is expected to change in GitLab 9.1. It is OK to wait
with setting up Gitaly until you upgrade to GitLab 9.1 or later.
# Fetch Gitaly source with Git and compile with Go
sudo -u git -H bundle exec rake "gitlab:gitaly:install[/home/git/gitaly]" RAILS_ENV=production
# Restrict Gitaly socket access
sudo chmod 0700 /home/git/gitlab/tmp/sockets/private
sudo chown git /home/git/gitlab/tmp/sockets/private
# Configure Gitaly
echo 'GITALY_SOCKET_PATH=/home/git/gitlab/tmp/sockets/private/gitaly.socket' | \
sudo -u git tee -a /home/git/gitaly/env
# Enable Gitaly in the init script
echo 'gitaly_enabled=true' | sudo tee -a /etc/default/gitlab
Next, edit
`/home/git/gitlab/config/gitlab.yml`
and make sure
`socket_path`
in
the
`gitaly:`
section is uncommented.
# <- gitlab.yml indentation starts here
gitaly:
socket_path: tmp/sockets/private/gitaly.socket
### Setup Logrotate
### Setup Logrotate
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
...
...
doc/update/8.17-to-9.0.md
View file @
275b7797
...
@@ -145,7 +145,15 @@ sudo -u git -H git fetch --all --tags
...
@@ -145,7 +145,15 @@ sudo -u git -H git fetch --all --tags
sudo
-u
git
-H
git checkout v5.0.0
sudo
-u
git
-H
git checkout v5.0.0
```
```
### 9. Update configuration files
### 9. Optional: install Gitaly
Gitaly is still an optional component of GitLab. If you want to save time
during your 9.0 upgrade
**you can skip this step**
.
If you do want to set up Gitaly in GitLab 9.0 then follow
[
Gitaly section of the installation
guide
](
https://gitlab.com/gitlab-org/gitlab-ce/blob/9-0-stable/doc/install/installation.md#install-gitaly
)
.
### 10. Update configuration files
#### New configuration options for `gitlab.yml`
#### New configuration options for `gitlab.yml`
...
@@ -282,14 +290,14 @@ For Ubuntu 16.04.1 LTS:
...
@@ -282,14 +290,14 @@ For Ubuntu 16.04.1 LTS:
sudo
systemctl daemon-reload
sudo
systemctl daemon-reload
```
```
### 1
0
. Start application
### 1
1
. Start application
```
bash
```
bash
sudo
service gitlab start
sudo
service gitlab start
sudo
service nginx restart
sudo
service nginx restart
```
```
### 1
1
. Check application status
### 1
2
. Check application status
Check if GitLab and its environment are configured correctly:
Check if GitLab and its environment are configured correctly:
...
...
lib/support/init.d/gitlab
View file @
275b7797
...
@@ -48,6 +48,10 @@ gitlab_pages_pid_path="$pid_path/gitlab-pages.pid"
...
@@ -48,6 +48,10 @@ gitlab_pages_pid_path="$pid_path/gitlab-pages.pid"
gitlab_pages_options
=
"-pages-domain example.com -pages-root
$app_root
/shared/pages -listen-proxy 127.0.0.1:8090"
gitlab_pages_options
=
"-pages-domain example.com -pages-root
$app_root
/shared/pages -listen-proxy 127.0.0.1:8090"
gitlab_pages_log
=
"
$app_root
/log/gitlab-pages.log"
gitlab_pages_log
=
"
$app_root
/log/gitlab-pages.log"
shell_path
=
"/bin/bash"
shell_path
=
"/bin/bash"
gitaly_enabled
=
false
gitaly_dir
=
$(
cd
$app_root
/../gitaly 2> /dev/null
&&
pwd
)
gitaly_pid_path
=
"
$pid_path
/gitaly.pid"
gitaly_log
=
"
$app_root
/log/gitaly.log"
# Read configuration variable file if it is present
# Read configuration variable file if it is present
test
-f
/etc/default/gitlab
&&
.
/etc/default/gitlab
test
-f
/etc/default/gitlab
&&
.
/etc/default/gitlab
...
@@ -101,13 +105,20 @@ check_pids(){
...
@@ -101,13 +105,20 @@ check_pids(){
gppid
=
0
gppid
=
0
fi
fi
fi
fi
if
[
"
$gitaly_enabled
"
=
true
]
;
then
if
[
-f
"
$gitaly_pid_path
"
]
;
then
gapid
=
$(
cat
"
$gitaly_pid_path
"
)
else
gapid
=
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.
wait_for_pids
(){
wait_for_pids
(){
# We are sleeping a bit here mostly because sidekiq is slow at writing its pid
# We are sleeping a bit here mostly because sidekiq is slow at writing its pid
i
=
0
;
i
=
0
;
while
[
!
-f
$web_server_pid_path
]
||
[
!
-f
$sidekiq_pid_path
]
||
[
!
-f
$gitlab_workhorse_pid_path
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
!
-f
$mail_room_pid_path
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
!
-f
$gitlab_pages_pid_path
]
;
}
;
do
while
[
!
-f
$web_server_pid_path
]
||
[
!
-f
$sidekiq_pid_path
]
||
[
!
-f
$gitlab_workhorse_pid_path
]
||
{
[
"
$mail_room_enabled
"
=
true
]
&&
[
!
-f
$mail_room_pid_path
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
!
-f
$gitlab_pages_pid_path
]
;
}
||
{
[
"
$gitaly_enabled
"
=
true
]
&&
[
!
-f
$gitaly_pid_path
]
;
}
;
do
sleep
0.1
;
sleep
0.1
;
i
=
$((
i+1
))
i
=
$((
i+1
))
if
[
$((
i%10
))
=
0
]
;
then
if
[
$((
i%10
))
=
0
]
;
then
...
@@ -164,7 +175,15 @@ check_status(){
...
@@ -164,7 +175,15 @@ check_status(){
gitlab_pages_status
=
"-1"
gitlab_pages_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
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
$gitlab_pages_status
=
0
]
;
}
;
then
if
[
"
$gitaly_enabled
"
=
true
]
;
then
if
[
$gapid
-ne
0
]
;
then
kill
-0
"
$gapid
"
2>/dev/null
gitaly_status
=
"
$?
"
else
gitaly_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
]
;
}
&&
{
[
"
$gitaly_enabled
"
!=
true
]
||
[
$gitaly_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
...
@@ -213,12 +232,19 @@ check_stale_pids(){
...
@@ -213,12 +232,19 @@ check_stale_pids(){
exit
1
exit
1
fi
fi
fi
fi
if
[
"
$gitaly_enabled
"
=
true
]
&&
[
"
$gapid
"
!=
"0"
]
&&
[
"
$gitaly_status
"
!=
"0"
]
;
then
echo
"Removing stale Gitaly pid. This is most likely caused by Gitaly crashing the last time it ran."
if
!
rm
"
$gitaly_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"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_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"
]
;
}
&&
{
[
"
$gitaly_enabled
"
!=
true
]
||
[
"
$gitaly_status
"
!=
"0"
]
;
}
;
then
echo
"GitLab is not running."
echo
"GitLab is not running."
exit
exit
fi
fi
...
@@ -243,6 +269,9 @@ start_gitlab() {
...
@@ -243,6 +269,9 @@ start_gitlab() {
if
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_status
"
!=
"0"
]
;
then
if
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_status
"
!=
"0"
]
;
then
echo
"Starting GitLab Pages"
echo
"Starting GitLab Pages"
fi
fi
if
[
"
$gitaly_enabled
"
=
true
]
&&
[
"
$gitaly_status
"
!=
"0"
]
;
then
echo
"Starting Gitaly"
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
...
@@ -292,6 +321,16 @@ start_gitlab() {
...
@@ -292,6 +321,16 @@ start_gitlab() {
fi
fi
fi
fi
if
[
"
$gitaly_enabled
"
=
true
]
;
then
if
[
"
$gitaly_status
"
=
"0"
]
;
then
echo
"Gitaly is already running with pid
$gapid
, not restarting"
else
$app_root
/bin/daemon_with_pidfile
$gitaly_pid_path
\
$app_root
/bin/with_env
$gitaly_dir
/env
\
$gitaly_dir
/gitaly
>>
$gitaly_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
...
@@ -322,13 +361,17 @@ stop_gitlab() {
...
@@ -322,13 +361,17 @@ stop_gitlab() {
echo
"Shutting down gitlab-pages"
echo
"Shutting down gitlab-pages"
kill
--
$(
cat
$gitlab_pages_pid_path
)
kill
--
$(
cat
$gitlab_pages_pid_path
)
fi
fi
if
[
"
$gitaly_status
"
=
"0"
]
;
then
echo
"Shutting down Gitaly"
kill
--
$(
cat
$gitaly_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"
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_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"
]
;
}
||
{
[
"
$gitaly_enabled
"
=
true
]
&&
[
"
$gitaly_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"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_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"
]
;
}
&&
{
[
"
$gitaly_enabled
"
!=
true
]
||
[
"
$gitaly_status
"
!=
"0"
]
;
}
;
then
printf
"
\n
"
printf
"
\n
"
break
break
fi
fi
...
@@ -343,6 +386,7 @@ stop_gitlab() {
...
@@ -343,6 +386,7 @@ stop_gitlab() {
rm
"
$mail_room_pid_path
"
2>/dev/null
rm
"
$mail_room_pid_path
"
2>/dev/null
fi
fi
rm
-f
"
$gitlab_pages_pid_path
"
rm
-f
"
$gitlab_pages_pid_path
"
rm
-f
"
$gitaly_pid_path
"
print_status
print_status
}
}
...
@@ -350,7 +394,7 @@ stop_gitlab() {
...
@@ -350,7 +394,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"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_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"
]
;
}
&&
{
[
"
$gitaly_enabled
"
!=
true
]
||
[
"
$gitaly_status
"
!=
"0"
]
;
}
;
then
echo
"GitLab is not running."
echo
"GitLab is not running."
return
return
fi
fi
...
@@ -383,7 +427,14 @@ print_status() {
...
@@ -383,7 +427,14 @@ print_status() {
printf
"The GitLab Pages is
\0
33[31mnot running
\0
33[0m.
\n
"
printf
"The GitLab Pages 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"
]
;
}
&&
{
[
"
$gitlab_pages_enabled
"
!=
true
]
||
[
"
$gitlab_pages_status
"
=
"0"
]
;
}
;
then
if
[
"
$gitaly_enabled
"
=
true
]
;
then
if
[
"
$gitaly_status
"
=
"0"
]
;
then
echo
"Gitaly with pid
$gapid
is running."
else
printf
"Gitaly 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"
]
;
}
&&
{
[
"
$gitaly_enabled
"
!=
true
]
||
[
"
$gitaly_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
}
}
...
@@ -414,7 +465,7 @@ reload_gitlab(){
...
@@ -414,7 +465,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"
]
;
}
||
{
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_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"
]
;
}
||
{
[
"
$gitaly_enabled
"
=
true
]
&&
[
"
$gitaly_status
"
=
"0"
]
;
}
;
then
stop_gitlab
stop_gitlab
fi
fi
start_gitlab
start_gitlab
...
...
lib/support/init.d/gitlab.default.example
View file @
275b7797
...
@@ -84,3 +84,7 @@ mail_room_pid_path="$pid_path/mail_room.pid"
...
@@ -84,3 +84,7 @@ mail_room_pid_path="$pid_path/mail_room.pid"
# shell other than "bash"
# shell other than "bash"
# The default is "/bin/bash"
# The default is "/bin/bash"
shell_path="/bin/bash"
shell_path="/bin/bash"
# This variable controls whether the init script starts/stops Gitaly
gitaly_enabled=false
gitaly_log="$app_root/log/gitaly.log"
tmp/sockets/private/.gitkeep
0 → 100644
View file @
275b7797
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