GitLab安裝,導入,備份
2.1.在CentOS系統上,下面的命令將會打開系統防火墻HTTP和SSH訪問。
yum install curl policycoreutils openssh-server openssh-clients
systemctl enable sshd
systemctl start sshd
yum install postfix
systemctl enable postfix
systemctl start postfix
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
2.添加GitLab鏡像源並安裝
這是官方的yum源,安裝速度會比較慢,可以使用國內源,修改如下文件即可:
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
修改內容如下:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
然後執行:
yum makecache
yum install gitlab-ee
yum install gitlab-ee-10.6.3 #制定安裝版本
yum remove -y gitlab-ee #移除gitlab-ce
gitlab-ctl reconfigure
安裝成功會有如下提示:
3.第一次訪問GitLab
系統會重定向頁面到重定向到重置密碼頁面,你需要輸入初始化管理員賬號的密碼,管理員的用戶名為root,初始密碼為5iveL!fe。重置密碼後,新密碼即為剛輸入的密碼。
4.GitLab的漢化
成功安裝GitLab後,很多朋友會想到漢化,當然如果團隊裏英文水平都不錯的話,是沒必要漢化的。
GitLab中文社區的項目,v7-v8.8是由Larry Li發起的“GitLab中文社區版項目”(https://gitlab.com/larryli/gitlab),從v8.9之後由@xhang開始繼續漢化項目(https://gitlab.com/xhang/gitlab)。
首先確認當前安裝版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.6.3
mkdir -p /root/test
cd /root/test /gitlab
如沒安裝git,需提前安裝:
yum install -y git
下載最新的漢化包:
git clone https://gitlab.com/xhang/gitlab.git
如果是要下載老版本的漢化包,需要加上老版本的分支,如果想下載10.8.4,可以運行如下語句:
git clone https://gitlab.com/xhang/gitlab.git -b v10.8.4-zh
停止GitLab並執行如下語句:
gitlab-ctl stop
cd gitlab/
git fetch
git diff v10.6.3 v10.6.3-zh > ../10.6.3-zh.diff
cd ..
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.6.3-zh.diff
一路回車
gitlab-ctl reconfigure
gitlab-ctl restart
5、gitlab報502 Whoops, GitLab is taking too much time to respond
解決方法1
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
gitlab-ctl status
嘗試用上面兩個命令解決,發現沒有用。
這時我怒了,不斷的輸入gitlab-ctl status,發現unicorn的pid一直在變大。而其他幾個服務的pid沒有變化。
3.這時差不多找到了問題的所在了,應該就是unicorn的問題。然後看官方教程,可以使用gitlab-ctl tail unicorn 來跟蹤unicorn的狀態,這時候悲催的發現原來時8080端口被占用了
E, [2015-02-11T17:27:57.818492 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2015-02-11T17:27:57.818621 #26687] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2015-02-11T17:27:58.318902 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
解決方法2
如下:
這個說明使用的端口被占用了
1、修改gitlab 倉庫地址,因為默認是localhost
cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml
Web server settings (note: host is the FQDN, do not include http://)
host: 172.16.101.191
port: 80
https: false
2、修改gitlab端口
cd /etc/gitlab/
vim gitlab.rd
Advanced settings
unicorn[‘listen‘] = ‘127.0.0.1‘
unicorn[‘port‘] = 8010
nginx[‘listen_port‘] = 8011
3、修改gitlab-http.conf
cd /var/opt/gitlab/nginx/conf
vim gitlab-http.conf
修改:
listen *:8011;
4、gitlab-rails修改cd /var/opt/gitlab/gitlab-rails/etc
vim unicorn.rb
修改:
listen "127.0.0.1:8010", :tcp_nopush => true
5、config.yml
修改cd /var/opt/gitlab/gitlab-shell
vim config.yml
gitlab_url: http://127.0.0.1:8011
6、gitlab-ctl restart
重啟下,然後用172.16.101.191:8011 訪問
6.Gitlab的從備份恢復也非常簡單:
註意版本一定要一致。
停止相關數據連接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
例如我使用如下命令,從遠程服務器copy剛才的備份文件到了新服務器的/var/opt/gitlab/backups/ 目錄下
從1481598919編號備份中恢復
[root@huidu2 backups]# mv 1528783710_2018_06_12_10.6.3-ee_gitlab_backup.tar 1528783710_gitlab_backup.tar
[root@huidu2 backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
[root@huidu2 backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@huidu2 backups]# gitlab-rake gitlab:backup:restore BACKUP=1528783710
輸入幾個yes
啟動Gitlab
sudo gitlab-ctl start
如果報502錯誤
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
7、Gitlab備份
1、創建備份
首先我們得把老服務器上的Gitlab整體備份,使用Gitlab一鍵安裝包安裝Gitlab非常簡單, 同樣的備份恢復與遷移也非常簡單. 使用一條命令即可創建完整的Gitlab備份。
gitlab-rake gitlab:backup:create
1
使用以上命令會在/var/opt/gitlab/backups目錄下創建一個名稱類似為1502357536_2017_08_10_9.4.3_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1502357536_2017_08_10_9.4.3是備份創建的日期
/etc/gitlab/gitlab.rb 配置文件須備份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 郵件配置備份
生成完後,/var/opt/gitlab/backups目錄創建一個名稱類似為1502357536_2017_08_10_9.4.3_gitlab_backup.tar的壓縮包
2、更改Gitlab備份目錄
當然你也可以通過/etc/gitlab/gitlab.rb配置文件來修改默認存放備份文件的目錄
gitlab_rails[‘backup_path‘] = "/var/opt/gitlab/backups"
1
/var/opt/gitlab/backups修改為你想存放備份的目錄即可,例如下面代碼將備份路徑修改為/mnt/backups
gitlab_rails[‘backup_path‘] = ‘/mnt/backups‘
修改完成之後使用下面命令重載配置文件即可.
gitlab-ctl reconfigure
自動備份
方法1、在命令行輸入: crontab -e 然後添加相應的任務,wq存盤退出。
#輸入命令crontab -e
sudo crontab -e
#輸入相應的任務
0 2 * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
7、重置root密碼
https://docs.gitlab.com/ce/security/reset_root_password.html
GitLab安裝,導入,備份