一. 使用gitlad完成功能的開發
- 創建遠程項目倉庫,并克隆
- 創建項目某feature分支
- 開始代碼編寫,并提交至該feature
注意: 一般項目開發時,會由管理員創建好項目倉庫,并確定好feature分支,并以任務的形式發放給對應開發者
- 推送該分支到遠程gitlad服務器
- 檢查代碼,并發送master分支合并申請
- 領導審查代碼并確定合并申請
- 這樣就完成了一個功能的開發
二. 安裝部署gitlab
- 環境: centos7
- 關閉防火墻,selinux
- 安裝 Omnibus Gitlad-ce package (官方提供的一鍵安裝包)
1. 安裝gitlab組件
yum -y install curl poilcycoreutils openssh-server openssh-clients postfix
2. 配置yum倉庫
curl sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3. 安裝
yum -y install gitlab-ce
- Omnibus gitlab 等相關配置初始化并完成安裝
1. 證書創建與配置加載
2. Nginx SSL 代理服務配置
3. 初始化Gitlab相關服務并完成安裝
# 創建目錄
mkdir -p /etc/gitlab/ssl
# 創建openssl密鑰
openssl genrsa -out '/etc/gitlab/ssl/gitlab.example.com.key' 2048
# 根據生成的密鑰來創建 csr 證書
openssl req -new -key '/etc/gitlab/ssl/gitlab.example.com.key' -out '/etc/gitlab/ssl/gitlab.example.com.csr'
# 根據私有密鑰和 csr 來創建 crt 簽署證書
openssl x509 -req -days 365 -in '/etc/gitlab/ssl/gitlab.example.com.csr' -signkey '/etc/gitlab/ssl/gitlab.example.com.key' -out '/etc/gitlab/ssl/gitlab.example.com.crt'
# 創建pem證書
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
# 給所有證書賦予權限
cd /etc/gitlab/ssl
chmod 600 *
# 編輯gitlab配置文件,將所有生成的ssl證書配置到其中
vim /etc/gitlab/gitlab.rb
(1) 將 external_url 'http://gitlab.example.com'
改為 external_url 'https://gitlab.example.com'
(2) # nginx['redirect_http_to_https'] = false
注釋刪除掉,并將參數修改為 true
(3) # nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
將這兩行修改為上面的證書路徑
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
(4) # nginx['ssl_dhparam'] = nil # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem
將這一行同樣修改為你的 pem 證書位置
# nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem
# 初始化gitlab服務相關配置
gitlab-ctl reconfigure
# 更改gitlab http 文件
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
在 server_name gitlab.example.com; 下加
rewrite ^(.*)$ https://$host$1 permanent ; # 代表將所有請求重定向到 https
# gitlab-ctl restart
# 在本機host文件中添加域名解析
windows + r
C:\Windows\System32\Drivers\etc\hosts
用記事本打開后在末尾添加
192.168.48.145 gitlab.example.com
保存退出
# 最后訪問 gitlab.example.com
踩坑記錄:
1. gitlab搭建完成以后,訪問 gitlab.example.com 報502錯誤
(可能原因, 1. 端口占用 2.內存不足,官方建議至少需要4G RAM
我的原因就是因為虛擬機內存不足導致的502錯誤,所以請同學們在部署安裝的時候一定要注意這兩點)