一、安裝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
===完===