一. 使用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错误,所以请同学们在部署安装的时候一定要注意这两点)