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
10f9c8a2
Commit
10f9c8a2
authored
Feb 16, 2016
by
Kamil Trzcinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Update init scripts and installation guide"
This reverts commit 0bb6c63b19f3574735838190b415a8b37eca3900.
parent
d4e2aa54
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
33 additions
and
146 deletions
+33
-146
doc/install/installation.md
doc/install/installation.md
+0
-8
doc/pages/README.md
doc/pages/README.md
+3
-32
doc/update/8.5-ce-to-ee.md
doc/update/8.5-ce-to-ee.md
+2
-22
lib/support/init.d/gitlab
lib/support/init.d/gitlab
+7
-54
lib/support/init.d/gitlab.default.example
lib/support/init.d/gitlab.default.example
+0
-13
lib/support/nginx/gitlab-pages
lib/support/nginx/gitlab-pages
+10
-8
lib/support/nginx/gitlab-pages-ssl
lib/support/nginx/gitlab-pages-ssl
+11
-9
No files found.
doc/install/installation.md
View file @
10f9c8a2
...
...
@@ -364,14 +364,6 @@ GitLab Shell is an SSH access and repository management software developed speci
sudo -u git -H git checkout 0.6.4
sudo -u git -H make
### Install gitlab-pages daemon
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
sudo -u git -H git checkout 0.1.0
sudo -u git -H make
### Initialize Database and Activate Advanced Features
# Go to GitLab installation folder
...
...
doc/pages/README.md
View file @
10f9c8a2
...
...
@@ -47,42 +47,13 @@ URL it will be accessible.
## Enable the pages feature in your project
The GitLab Pages feature is enabled when the valid
`.gitlab-ci.yml`
is configured
in your project.
## Use custom domain
You can define multiple domains for your pages.
Go to
**Settings > Pages**
and click a
**New Domain**
.
You will be asked to fill simple form where you put the
**Domain**
name.
You can use the specified domain only once.
After adding domain you need to configure your DNS to point to your Pages.
To do so add the
**CNAME**
record for your domain pointing to:
`walter.example.com`
.
Where
`walter`
is your group or username.
If you are unable to add a
**CNAME**
, because your is top-level domain.
You can check the IP address of server serving GitLab Pages:
$ dig walter.example.com
walter.example.com. 300 IN A 1.1.1.1
Add a
**A**
record pointing to
**1.1.1.1**
.
## Use custom domain with custom certificates
_**Note:** This feature was [introduced][ee-80] in GitLab EE 8.5_
When defining the domain you can also paste the custom certificates.
You need to paste the certificate with all intermediate certificates required to build a trust chain in PEM format.
The second you need to send us the private key for your certificate.
_**Note:** This feature was [introduced][ee-80] in GitLab EE 8.5 and needs to be explicitly enabled by your Administrator_
The GitLab Pages feature needs to be explicitly enabled for each project
under its
**Settings**
.
## Remove the contents of your pages
Pages can be explicitly removed from a project by clicking
**Remove Pages**
in a project's
**Settings
> Pages
**
.
in a project's
**Settings**
.
## Explore the contents of .gitlab-ci.yml
...
...
doc/update/8.5-ce-to-ee.md
View file @
10f9c8a2
...
...
@@ -47,32 +47,12 @@ sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
sudo
-u
git
-H
bundle
exec
rake assets:clean assets:precompile cache:clear
RAILS_ENV
=
production
```
### 4. Install gitlab-pages daemon
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
sudo -u git -H git checkout 0.1.0
sudo -u git -H make
### 5. Update the init scripts
Download the init script (will be
`/etc/init.d/gitlab`
):
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
And if you are installing with a non-default folder or user copy and edit the defaults file:
sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
**Note:**
This is required to have a support for GitLab Pages.
### 6. Start application
### 4. Start application
sudo service gitlab start
sudo service nginx restart
###
7
. Check application status
###
5
. Check application status
Check if GitLab and its environment are configured correctly:
...
...
lib/support/init.d/gitlab
View file @
10f9c8a2
...
...
@@ -89,13 +89,6 @@ 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.
...
...
@@ -151,15 +144,7 @@ check_status(){
mail_room_status
=
"-1"
fi
fi
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
if
[
$web_status
=
0
]
&&
[
$sidekiq_status
=
0
]
&&
[
$gitlab_workhorse_status
=
0
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
$mail_room_status
=
0
]
;
}
;
then
gitlab_status
=
0
else
# http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
...
...
@@ -201,19 +186,12 @@ 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"
]
;
}
&&
{
[
"
$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"
]
;
}
;
then
echo
"GitLab is not running."
exit
fi
...
...
@@ -235,9 +213,6 @@ start_gitlab() {
if
[
"
$mail_room_enabled
"
=
true
]
&&
[
"
$mail_room_status
"
!=
"0"
]
;
then
echo
"Starting GitLab MailRoom"
fi
if
[
"
$mail_room_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
...
...
@@ -277,16 +252,6 @@ 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
...
...
@@ -313,17 +278,13 @@ 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"
]
;
}
||
{
[
"
$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"
]
;
}
;
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"
]
;
}
;
then
printf
"
\n
"
break
fi
...
...
@@ -337,7 +298,6 @@ 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
}
...
...
@@ -345,7 +305,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"
]
;
}
;
then
echo
"GitLab is not running."
return
fi
...
...
@@ -371,14 +331,7 @@ print_status() {
printf
"The GitLab MailRoom email processor is
\0
33[31mnot running
\0
33[0m.
\n
"
fi
fi
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
if
[
"
$web_status
"
=
"0"
]
&&
[
"
$sidekiq_status
"
=
"0"
]
&&
[
"
$gitlab_workhorse_status
"
=
"0"
]
&&
{
[
"
$mail_room_enabled
"
!=
true
]
||
[
"
$mail_room_status
"
=
"0"
]
;
}
;
then
printf
"GitLab and all its components are
\0
33[32mup and running
\0
33[0m.
\n
"
fi
}
...
...
@@ -409,7 +362,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"
]
;
}
;
then
stop_gitlab
fi
start_gitlab
...
...
lib/support/init.d/gitlab.default.example
View file @
10f9c8a2
...
...
@@ -47,19 +47,6 @@ 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 separate IP address on which it will listen
# You can also use the different ports (80 or 443) that will be forwarded to GitLab Pages Daemon
# To enable HTTP support for custom domains:
# -listen-http 1.1.1.1:80
# The value of -listen-http must be set to `gitlab.yml:pages:external_http`
# To enable HTTPS support for custom domains and certificates:
# -listen-https 1.1.1.1:443 -root-cert /path/to/example.com.crt -root-key /path/to/example.com.key
# The value of -listen-https must be set to `gitlab.yml:pages:external_http`
# The -pages-domain must be specified the same as in `gitlab.yml`
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"
...
...
lib/support/nginx/gitlab-pages
View file @
10f9c8a2
...
...
@@ -7,19 +7,21 @@ server {
listen [::]:80 ipv6only=on;
## Replace this with something like pages.gitlab.com
server_name *.YOUR_GITLAB_PAGES.DOMAIN;
server_name ~^(?<group>.*)\.YOUR_GITLAB_PAGES\.DOMAIN$;
root /home/git/gitlab/shared/pages/${group};
## Individual nginx logs for GitLab pages
access_log /var/log/nginx/gitlab_pages_access.log;
error_log /var/log/nginx/gitlab_pages_error.log;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# The same address as passed to GitLab Pages: `-listen-proxy`
proxy_pass http://localhost:8282/;
# 1. Try to get /path/ from shared/pages/${group}/${path}/public/
# 2. Try to get / from shared/pages/${group}/${host}/public/
location ~ ^/([^/]*)(/.*)?$ {
try_files "/$1/public$2"
"/$1/public$2/index.html"
"/${host}/public/${uri}"
"/${host}/public/${uri}/index.html"
=404;
}
# Define custom error pages
...
...
lib/support/nginx/gitlab-pages-ssl
View file @
10f9c8a2
...
...
@@ -11,7 +11,7 @@ server {
listen [::]:80 ipv6only=on;
## Replace this with something like pages.gitlab.com
server_name
*.YOUR_GITLAB_PAGES.DOMAIN
;
server_name
~^(?<group>.*)\.YOUR_GITLAB_PAGES\.DOMAIN$
;
server_tokens off; ## Don't show the nginx version number, a security best practice
return 301 https://$http_host$request_uri;
...
...
@@ -26,8 +26,9 @@ server {
listen [::]:443 ipv6only=on ssl;
## Replace this with something like pages.gitlab.com
server_name
*.YOUR_GITLAB_PAGES.DOMAIN
;
server_name
~^(?<group>.*)\.YOUR_GITLAB_PAGES\.DOMAIN$
;
server_tokens off; ## Don't show the nginx version number, a security best practice
root /home/git/gitlab/shared/pages/${group};
## Strong SSL Security
## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
...
...
@@ -62,13 +63,14 @@ server {
access_log /var/log/nginx/gitlab_pages_access.log;
error_log /var/log/nginx/gitlab_pages_error.log;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# The same address as passed to GitLab Pages: `-listen-proxy`
proxy_pass http://localhost:8282/;
# 1. Try to get /path/ from shared/pages/${group}/${path}/public/
# 2. Try to get / from shared/pages/${group}/${host}/public/
location ~ ^/([^/]*)(/.*)?$ {
try_files "/$1/public$2"
"/$1/public$2/index.html"
"/${host}/public/${uri}"
"/${host}/public/${uri}/index.html"
=404;
}
# Define custom error pages
...
...
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