Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-11-03 23:28:07 +0300
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-01 01:50:39 +0300
commit120f9abaa15ce0feec1dc457ad3dc3787e4fbfc6 (patch)
tree4bb8bf5f7e47613ea967555e01fc2c7e27e994c6 /lib/support
parent659cceb0e8694b58a8b665de3f338245244ef114 (diff)
Add GitLab Pages
- The pages are created when build artifacts for `pages` job are uploaded - Pages serve the content under: http://group.pages.domain.com/project - Pages can be used to serve the group page, special project named as host: group.pages.domain.com - User can provide own 403 and 404 error pages by creating 403.html and 404.html in group page project - Pages can be explicitly removed from the project by clicking Remove Pages in Project Settings - The size of pages is limited by Application Setting: max pages size, which limits the maximum size of unpacked archive (default: 100MB) - The public/ is extracted from artifacts and content is served as static pages - Pages asynchronous worker use `dd` to limit the unpacked tar size - Pages needs to be explicitly enabled and domain needs to be specified in gitlab.yml - Pages are part of backups - Pages notify the deployment status using Commit Status API - Pages use a new sidekiq queue: pages - Pages use a separate nginx config which needs to be explicitly added
Diffstat (limited to 'lib/support')
-rw-r--r--lib/support/nginx/gitlab-pages27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/support/nginx/gitlab-pages b/lib/support/nginx/gitlab-pages
new file mode 100644
index 00000000000..0eeb0cd1917
--- /dev/null
+++ b/lib/support/nginx/gitlab-pages
@@ -0,0 +1,27 @@
+## Pages serving host
+server {
+ listen 0.0.0.0:80;
+ listen [::]:80 ipv6only=on;
+
+ ## Replace this with something like pages.gitlab.com
+ 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;
+
+ # 1. Try to get /project/ to => shared/pages/${group}/public/ or index.html
+ # 2. Try to get / to => shared/pages/${group}/${host}/public/ or index.html
+ location ~ ^/([^/]*)(/.*)?$ {
+ try_files "/$1/public$2"
+ "/$1/public$2/index.html"
+ "/${host}/public/${uri}"
+ "/${host}/public/${uri}/index.html"
+ =404;
+ }
+
+ # Define custom error pages
+ error_page 403 /403.html;
+ error_page 404 /404.html;
+}