一、安裝gitlab軟體倉庫
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
二、使用yum方式安裝gitlab社群版
yum install curl openssh-server openssh-clients cronie policycoreutils-python git gitlab-ce -y
三、修改/etc/gitlab/gitlab.rb
external_url 'http://gitlab.yunweibang.com'
unicorn['listen'] = 'localhost'
unicorn['port'] = 30009
prometheus['enable'] = true
prometheus['listen_address'] = 'localhost:30010'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['trusted_proxies'] = ['127.0.0.1']
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:30008"
nginx['enable'] = false
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "[email protected]"
四、測試郵件是否可以正常發送
gitlab-rails console
irb(main):003:0> Notify.test_email('[email protected]', '你好,測試一下', '我來自gitlab').deliver_now
五、使用自己的nginx,不用gitlab内置的nginx
配置檔案可以參考:
https://blog.csdn.net/peterxiaoq/article/details/73330302
如果socket權限有問題,可以使用端口也ok
upstream gitlab { server 127.0.0.1:30008; }
Nginx、workhorse和unicorn之間的關系

六、常用指令
gitlab-ctl reconfigure 重新更新配置
gitlab-ctl restart 重新開機服務
gitlab-ctl tail 檢視日志
七、登入頁面
八、備份gitlab資料
備份指令:gitlab-rake gitlab:backup:create
會在/var/opt/gitlab/backups下生成一個帶時間的tar檔案
每天晚上定時備份,運作crontab -e,添加
0 1 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
注意:環境變量CRON=1的作用是如果沒有任何錯誤發生時, 抑制備份腳本的所有進度輸出
隻儲存最近7天的備份,編輯 /etc/gitlab/gitlab.rb 配置檔案,找到gitlab_rails[‘backup_keep_time’],設定為你想要設定的值。
gitlab_rails['backup_keep_time'] = 604800
九、從備份檔案中恢複gitlab,Gitlab的恢複操作會先将目前所有的資料清空,然後再根據備份資料進行恢複。
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status
檢視一下unicorn和sidekiq是否已經down了,然後運作:
chmod 777 備份檔案
gitlab-rake gitlab:backup:restore BACKUP=備份檔案編号
比如:
gitlab-rake gitlab:backup:restore BACKUP=1539841224_2018_10_18_11.3.5.3
再次啟動gitlab
gitlab-ctl restart
===完===