centos7 安装部署gitlab

一. 使用gitlad完成功能的开发

  1. 创建远程项目仓库,并克隆
  2. 创建项目某feature分支
  3. 开始代码编写,并提交至该feature

注意: 一般项目开发时,会由管理员创建好项目仓库,并确定好feature分支,并以任务的形式发放给对应开发者

  1. 推送该分支到远程gitlad服务器
  2. 检查代码,并发送master分支合并申请
  3. 领导审查代码并确定合并申请
  4. 这样就完成了一个功能的开发

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




你可能感兴趣的:(centos7 安装部署gitlab)