內(nèi)容:
- 安裝配置
- 郵件配置
- 默認端口變更佃扼、域名配置
- 自動備份
- 恢復
- 遷移
環(huán)境:centos 6.5
安裝和配置必要依賴
在CentOS偎巢,下面的命令將在系統(tǒng)防火墻打開HTTP和SSH訪問。
sudo yum install -y curl openssh-server openssh-clients cronie
sudo lokkit -s http -s ssh
Next, install Postfix to send notification emails. If you want to use another solution to send emails please skip this step and configure an external SMTP server after GitLab has been installed.
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
During Postfix installation a configuration screen may appear. Select ‘Internet Site’ and press enter. Use your server’s external DNS for ‘mail name’ and press enter. If additional screens appear, continue to press enter to accept the defaults.
安裝 gitlab-ce
安裝包有300M+兼耀,若能訪問aws压昼,直接yum install ,否則配置國內(nèi)鏡像
sudo yum install -y gitlab-ce
1瘤运、配置yum源
vim /etc/yum.repos.d/gitlab-ce.repo
增加以下內(nèi)容
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key
2窍霞、更新本地yum緩存
sudo yum makecache
3、安裝GitLab社區(qū)版
sudo yum intall gitlab-ce #自動安裝最新版
或者:sudo yum install gitlab-ce-x.x.x #安裝指定版本
如果下載太慢拯坟,不如直接訪問 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/,用迅雷下載你需要的包但金,然后scp 到服務器上
scp ./gitlab-ce-10.0.1-ce.0.el6.x86_64.rpm root@10.xx.x.xxx:/data/
安裝前先安裝依賴,然后直接rpm -ivh [rpm安裝包]安裝:
yum install policycoreutils-python
rpm -ivh gitlab-ce-10.0.1-ce.0.el6.x86_64.rpm
4似谁、Configure and start GitLab
sudo gitlab-ctl reconfigure
可以安裝omnibus 版本傲绣,省心
omnibus 社區(qū)版安裝
下載包安裝:
https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
rpm -i gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
配置域名
gitlab 內(nèi)置nginx,默認監(jiān)聽80端口巩踏;
修改文件:/etc/gitlab/gitlab.rb
external_url 'http://gitlab.123.com'
如果服務器已有nginx 秃诵,那么則需要參考下節(jié)變更端口,然后修改系統(tǒng)nginx配置
默認端口號變更
gitlab 內(nèi)置nginx塞琼,默認監(jiān)聽80端口菠净;gitlab 網(wǎng)站服務,默認占用8080 端口,如果這兩個端口已經(jīng)被其他服務占用毅往,那么也可以進行修改(舉例:80 ->82,8080 ->8082)
修改文件:/etc/gitlab/gitlab.rb
#unicorn
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082
# nginx
nginx['listen_addresses'] = ['*']
nginx['listen_port'] = 82
重新配置重啟
gitlab-ctl reconfigure
備注: reconfigure 后牵咙,會將相關組件的配置文件更新掉,所以變更了gitlab.rb攀唯,均需要reconfigure洁桌。例如nginx配置文件生成路徑:/var/opt/gitlab/nginx/conf/gitlab-http.conf;gitlab-rails配置文件:/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
郵件配置
修改gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yeah.net"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "sloong@yeah.net"
gitlab_rails['smtp_password'] = "xxxpassword"
gitlab_rails['smtp_domain'] = "yeah.net"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
user['git_user_email'] = "sloong@yeah.net"
#可有可無
gitlab_rails['gitlab_email_from'] = 'sloong@yeah.net'
gitlab_rails['gitlab_email_display_name'] = 'gitlab-admin'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@yeah.net'
重新配置
gitlab-ctl reconfigure
定制頁面
卸載
停止gitlab:
su gitlab-ctl stop
卸載
su gitlab-ctl uninstall
su rpm -e gitlab-ce
刪除所有包含gitlab的文件及目錄
find / -name gitlab|xargs rm -rf
gitlab 常用命令
sudo gitlab-ctl start # 啟動所有 gitlab 組件侯嘀;
sudo gitlab-ctl stop # 停止所有 gitlab 組件另凌;
sudo gitlab-ctl restart # 重啟所有 gitlab 組件;
sudo gitlab-ctl status # 查看服務狀態(tài)戒幔;
sudo gitlab-ctl reconfigure # 啟動服務吠谢;
sudo vim /etc/gitlab/gitlab.rb # 修改默認的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 檢查gitlab诗茎;
sudo gitlab-ctl tail # 查看日志工坊;
備份
備份、恢復敢订、遷移參考自:http://www.xuliangwei.com/xubusi/803.html
使用Gitlab一鍵安裝包安裝Gitlab非常簡單, 同樣的備份恢復與遷移也非常簡單. 使用一條命令即可創(chuàng)建完整的Gitlab備份:
gitlab-rake gitlab:backup:create
使用以上命令會在/var/opt/gitlab/backups目錄下創(chuàng)建一個名稱類似為1481598919_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1481598919是備份創(chuàng)建的日期
/etc/gitlab/gitlab.rb 配置文件須備份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 郵件配置備份
備份目錄更改
可以通過/etc/gitlab/gitlab.rb配置文件來修改默認存放備份文件的目錄
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
/var/opt/gitlab/backups修改為你想存放備份的目錄即可, 修改完成之后使用gitlab-ctl reconfigure命令重載配置文件即可.
Gitlab自動備份
實現(xiàn)每天凌晨2點進行一次自動備份:通過crontab使用備份命令實現(xiàn)
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
恢復
# 停止相關數(shù)據(jù)連接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 從1481598919編號備份中恢復
gitlab-rake gitlab:backup:restore BACKUP=1481598919
# 啟動Gitlab
sudo gitlab-ctl start
遷移
遷移如同備份與恢復的步驟一樣, 只需要將老服務器/var/opt/gitlab/backups
目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups
即可(如果你沒修改過默認備份目錄的話).
但是需要注意的是新服務器上的Gitlab的版本必須與創(chuàng)建備份時的Gitlab版本號相同. 比如新服務器安裝的是最新的7.60版本的Gitlab, 那么遷移之前, 最好將老服務器的Gitlab 升級為7.60在進行備份.
/etc/gitlab/gitlab.rb
gitlab配置文件須遷移,遷移后需要調(diào)整數(shù)據(jù)存放目錄
/var/opt/gitlab/nginx/conf
nginx配置文件目錄須遷移
[root@linux-node1 ~]# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
[root@linux-node1 ~]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@linux-node1 ~]# chmod 777 /var/opt/gitlab/backups/1481598919_gitlab_backup.tar
[root@linux-node1 ~]# gitlab-rake gitlab:backup:restore BACKUP=1481598919
參考
- https://about.gitlab.com/installation/#centos-6
- https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
- https://yq.aliyun.com/articles/74395
- http://blog.csdn.net/arybd/article/details/54635295
- https://segmentfault.com/a/1190000002722631
- http://www.cnblogs.com/shansongxian/p/6678110.html
- https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md
- http://www.xuliangwei.com/xubusi/803.html