From fbc2f834437d8d62c1eaddaafcdedaf81149b584 Mon Sep 17 00:00:00 2001 From: David Carlos Date: Sun, 15 May 2016 22:25:15 -0300 Subject: [PATCH] Add steps to deploy gitlab 8.5 --- Vagrantfile | 7 ++++++- provision.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- 2 files changed, 57 insertions(+), 26 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 6530dd1..6f910de 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -13,6 +13,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "shell", keep_color: true, path: 'provision.sh' #config.vm.network :forwarded_port, guest: 8080, host: 8080 # Gitlab - config.vm.network :forwarded_port, guest: 8081, host: 8081 # Nginx + config.vm.network :forwarded_port, guest: 8081, host: 4567 # Nginx + + config.vm.provider "virtualbox" do |v| + v.memory = 2048 + v.cpus = 2 + end end diff --git a/provision.sh b/provision.sh index 395eb74..2c7fd29 100755 --- a/provision.sh +++ b/provision.sh @@ -80,35 +80,53 @@ enable_start_service gitlab sudo -u git bundle exec rake db:setup RAILS_ENV=production && touch /var/lib/gitlab/setup.done cat << EOF > /etc/nginx/conf.d/gitlab.conf -upstream gitlab { - server 0.0.0.0:8080 fail_timeout=10s; +upstream gitlab-workhorse { + server unix:/usr/lib/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=10s; } server { - listen *:8081; - server_name localhost:8081; - underscores_in_headers on; - access_log /var/log/nginx/gitlab.access.log; - error_log /var/log/nginx/gitlab.error.log; - client_max_body_size 20m; - - location /gitlab/assets/ { - alias /usr/lib/gitlab/public/assets/; - } + listen *:8081 default_server; + large_client_header_buffers 4 32k; + server_name gitlab.dev; ## Replace this with something like gitlab.example.com + server_tokens off; ## Don't show the nginx version number, a security best practice + root /usr/lib/gitlab/public; - location /gitlab/uploads/ { - alias /usr/lib/gitlab/public/uploads/; - } + client_max_body_size 20m; + + access_log /var/log/nginx/gitlab_access.log; + error_log /var/log/nginx/gitlab_error.log; + +location / { +try_files \$uri \$uri/index.html \$uri.html @gitlab; +} - location / { - proxy_pass http://gitlab; - proxy_read_timeout 90; - proxy_connect_timeout 90; +location @gitlab { + client_max_body_size 0; + gzip off; + + proxy_read_timeout 300; + proxy_connect_timeout 300; proxy_redirect off; - proxy_set_header Host localhost:8081; - proxy_set_header X-Real-IP \$remote_addr; - proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; + + proxy_http_version 1.1; + + 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; + + proxy_pass http://gitlab-workhorse; +} + + location ~ ^/(assets)/ { + root /usr/lib/gitlab/public; + + gzip_static on; # to serve pre-gzipped version + expires max; + add_header Cache-Control public; } + + error_page 502 /502.html; } EOF @@ -151,8 +169,9 @@ sudo chmod -R ug-s /var/lib/gitlab-shell/repositories/ sudo find /var/lib/gitlab-shell/repositories/ -type d -print0 | sudo xargs -0 chmod g+s sudo chmod -R 777 /var/log/gitlab-shell/ -cat << EOF > /usr/lib/gitlab-shell/config.yml +rm /usr/lib/gitlab-shell/config.yml +cat << EOF > /usr/lib/gitlab-shell/config.yml user: git gitlab_url: "http://127.0.0.1:8080/gitlab" @@ -180,12 +199,19 @@ log_level: INFO audit_usernames: false EOF +chown -R git.git /var/lib/gitlab-shell/ - -enable_start_service gitlab +systemctl restart gitlab sudo -u git env PATH=/opt/rh/rh-ruby22/root/usr/bin/:/opt/rh/nodejs010/root/usr/bin/:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64:/opt/rh/nodejs010/root/lib64/:/opt/rh/v8314/root/usr/lib64/ bundle exec rake db:migrate RAILS_ENV=production sudo -u git env PATH=/opt/rh/rh-ruby22/root/usr/bin/:/opt/rh/nodejs010/root/usr/bin/:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64:/opt/rh/nodejs010/root/lib64/:/opt/rh/v8314/root/usr/lib64/ bundle exec rake assets:precompile RAILS_ENV=production +#create new root user +sed -i "s|username: 'root'|username: 'devroot'|" /usr/lib/gitlab/db/fixtures/production/001_admin.rb + +sudo -u git env PATH=/opt/rh/rh-ruby22/root/usr/bin/:/opt/rh/nodejs010/root/usr/bin/:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64:/opt/rh/nodejs010/root/lib64/:/opt/rh/v8314/root/usr/lib64/ bundle exec rake db:seed_fu RAILS_ENV=production + sudo -u git env PATH=/opt/rh/rh-ruby22/root/usr/bin/:/opt/rh/nodejs010/root/usr/bin/:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64:/opt/rh/nodejs010/root/lib64/:/opt/rh/v8314/root/usr/lib64/ bundle exec rake gitlab:check RAILS_ENV=production + +systemctl restart gitlab -- libgit2 0.21.2