BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
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
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
118 additions
and
12 deletions
+118
-12
with_env
bin/with_env
+16
-0
gitlab.yml.example
config/gitlab.yml.example
+1
-1
installation.md
doc/install/installation.md
+27
-0
8.17-to-9.0.md
doc/update/8.17-to-9.0.md
+11
-3
gitlab
lib/support/init.d/gitlab
+59
-8
gitlab.default.example
lib/support/init.d/gitlab.default.example
+4
-0
.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
# This setting is obsolete because we expect it to be moved under
# repositories/storages in GitLab 9.1.
#
# socket_path: tmp/sockets/gitaly.socket
# socket_path: tmp/sockets/
private/
gitaly.socket
#
# 4. Advanced settings
...
...
doc/install/installation.md
View file @
275b7797
...
...
@@ -456,6 +456,33 @@ Make GitLab start on boot:
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
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
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`
...
...
@@ -282,14 +290,14 @@ For Ubuntu 16.04.1 LTS:
sudo systemctl daemon-reload
```
### 1
0
. Start application
### 1
1
. Start application
```
bash
sudo service gitlab start
sudo service nginx restart
```
### 1
1
. Check application status
### 1
2
. Check application status
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"
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"
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
test
-f
/etc/default/gitlab
&&
.
/etc/default/gitlab
...
...
@@ -101,13 +105,20 @@ check_pids(){
gppid
=
0
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.
wait_for_pids
(){
# We are sleeping a bit here mostly because sidekiq is slow at writing its pid
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
;
i
=
$((
i+1
))
if
[
$((
i%10
))
=
0
]
;
then
...
...
@@ -164,7 +175,15 @@ check_status(){
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
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
else
# http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
...
...
@@ -213,12 +232,19 @@ check_stale_pids(){
exit
1
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.
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"
]
;
}
&&
{
[
"
$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."
exit
fi
...
...
@@ -243,6 +269,9 @@ start_gitlab() {
if
[
"
$gitlab_pages_enabled
"
=
true
]
&&
[
"
$gitlab_pages_status
"
!=
"0"
]
;
then
echo
"Starting GitLab Pages"
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.
if
[
"
$web_status
"
=
"0"
]
;
then
...
...
@@ -292,6 +321,16 @@ start_gitlab() {
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_pids
# Finally check the status to tell wether or not GitLab is running
...
...
@@ -322,13 +361,17 @@ stop_gitlab() {
echo
"Shutting down gitlab-pages"
kill
--
$(
cat
$gitlab_pages_pid_path
)
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.
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
check_status
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
"
break
fi
...
...
@@ -343,6 +386,7 @@ stop_gitlab() {
rm
"
$mail_room_pid_path
"
2>/dev/null
fi
rm
-f
"
$gitlab_pages_pid_path
"
rm
-f
"
$gitaly_pid_path
"
print_status
}
...
...
@@ -350,7 +394,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"
]
;
}
&&
{
[
"
$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."
return
fi
...
...
@@ -383,7 +427,14 @@ print_status() {
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
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
"
fi
}
...
...
@@ -414,7 +465,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"
]
;
}
||
{
[
"
$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
fi
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"
# shell other than "bash"
# The default is "/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