天天看點

gitlab安裝配置

一、安裝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安裝配置

六、常用指令

gitlab-ctl reconfigure  重新更新配置

gitlab-ctl restart  重新開機服務

gitlab-ctl tail 檢視日志

七、登入頁面

gitlab安裝配置

八、備份gitlab資料

備份指令:gitlab-rake gitlab:backup:create

會在/var/opt/gitlab/backups下生成一個帶時間的tar檔案

gitlab安裝配置

每天晚上定時備份,運作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

===完===

繼續閱讀