GitLab介紹
GitLab:是一個基於Git實現的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似於Github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服。
功能:Gitlab 是一個提供代碼托管、提交審核和問題跟蹤的代碼管理平台。對於軟件工程質量管理非常重要。
版本:GitLab 分為社區版(CE) 和企業版(EE)。
配置:建議CPU2核,內存2G以上。
Gitlab的服務構成:
Nginx:靜態web服務器。
gitlab-shell:用於處理Git命令和修改authorized keys列表。(Ruby)
gitlab-workhorse: 輕量級的反向代理服務器。(go)
GitLab Workhorse是一個敏捷的反向代理。它會處理一些大的HTTP請求,比如文件上傳、文件下載、Git push/pull和Git包下載。其它請求會反向代理到GitLab Rails應用,即反向代理給后端的unicorn。
logrotate:日志文件管理工具。
postgresql:數據庫。
redis:緩存數據庫。
sidekiq:用於在后台執行隊列任務(異步執行)。(Ruby)
unicorn:An HTTP server for Rack applications,GitLab Rails應用是托管在這個服務器上面的。(Ruby Web Server,主要使用Ruby編寫)
GitLab安裝
1.源碼安裝
2.yum安裝
官方源地址:https://about.gitlab.com/downloads/#centos6
清華大學鏡像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
cat> /etc/yum.repos.d/gitlab-ce.repo<< EOF [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ gpgcheck=0 enabled=1 EOF
安裝依賴
yum install curl policycoreutils-python openssh-server
再執行
yum makecache yum install gitlab-ce gitlab-ctl reconfigure #Configure and start GitLab
更改訪問地址url
vim /etc/gitlab/gitlab.rb

配置郵件:

1 gitlab_rails['smtp_enable'] = true 2 gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" 3 gitlab_rails['smtp_port'] = 465 4 gitlab_rails['smtp_user_name'] = "########.cn" 5 gitlab_rails['smtp_password'] = "#########" 6 gitlab_rails['smtp_authentication'] = "login" 7 gitlab_rails['smtp_enable_starttls_auto'] = true 8 gitlab_rails['smtp_tls'] = true 9 gitlab_rails['gitlab_email_from'] = '##########' 10 gitlab_rails['smtp_domain'] = "exmail.qq.com"
配置生效
1 #使配置生效 2 gitlab-ctl reconfigure 3 #重新啟動GitLab 4 gitlab-ctl restart
GitLab備份和恢復
備份
# 可以將此命令寫入crontab,以實現定時備份 /usr/bin/gitlab-rake gitlab:backup:create
#備份的數據會存儲在/var/opt/gitlab/backups,用戶通過自定義參數 gitlab_rails['backup_path'],改變默認值。
恢復
1 # 停止unicorn和sidekiq,保證數據庫沒有新的連接,不會有寫數據情況 2 sudo gitlab-ctl stop unicorn 3 sudo gitlab-ctl stop sidekiq 4 5 # 進入備份目錄進行恢復,1476900742為備份文件的時間戳 6 cd /var/opt/gitlab/backups 7 gitlab-rake gitlab:backup:restore BACKUP=1476900742 8 cd - 9 10 # 啟動unicorn和sidekiq 11 sudo gitlab-ctl start unicorn 12 sudo gitlab-ctl start sidekiq
GitLab常用命令
1 gitlab-ctl start # 啟動所有 gitlab 組件; 2 gitlab-ctl stop # 停止所有 gitlab 組件; 3 gitlab-ctl restart # 重啟所有 gitlab 組件; 4 gitlab-ctl status # 查看服務狀態; 5 vim /etc/gitlab/gitlab.rb # 修改gitlab配置文件; 6 gitlab-ctl reconfigure # 重新編譯gitlab的配置; 7 gitlab-rake gitlab:check SANITIZE=true --trace # 檢查gitlab; 8 gitlab-ctl tail # 查看日志; 9 gitlab-ctl tail nginx/gitlab_access.log
注意:執行 reconfigure 命令會把gitlab的nginx組件的配置還原,導致自定義修改的端口以及域名等都沒有了。
