文章目录
- centos7-gitlab平台搭建
- 相关介绍
- gitlab安装配置:
centos7-gitlab平台搭建
相关介绍
gitlab是一个开源分布式版本控制系统
开发语言:Ruby
功能:管理项目源代码/版本控制/代码复用与查找
优势:
- 开源免费
- 差异化版本管理,离线 同步以及强大分支管理功能
- 集成度很高
- 内置HA,在高并发下仍旧实现高可用性
主要服务:
- Nginx静态web服务器
- gitlab-workhorse 反向代理服务器
- gitlab-shell用于处理git命令和修改authorized key列表
- logrotate日志文件管理工具
- postgresql数据库
- redis缓存服务器
工作流程:
- 创建并克隆项目
- 创建项目某feature的分支
- 编写代码并提交至分支
- 推送该项目分支至远程gitlab服务器
- 进行代码检查并提交master主分支合并申请
- 项目领导审查代码并确认合并申请
gitlab安装配置:
- 安装前的配置
- 关闭firewalld防火墙
systemctl stop firewalld systemctl disable firewalld
- 关闭selinux并重启
vi /etc/sysconfig/selinux 修改 ... SELINUX=disabled ... 修改完后 reboot
- 安装 Omnibus Gitlab-ce package
- Gitlab 国外镜像速度一向感人,而且是不是的还抽风,所以在国内搭建 Gitlab 使用的时候,还是切换成墙内镜像比较放心。目前官方支持的国内镜像是清华大学的镜像站,地址:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
安装gitlab组件
yum -y install curl policycoreutils openssh-server openssh-clients postfix
配置yum源
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
启动postfix邮件服务
systemctl start postfix && systemctl enable postfix
镜像切换
- 新建镜像 repo
新建 /etc/yum.repos.d/gitlab-ce.repo
,内容为:
[gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
- 安装gitlab-ce 社区版
yum install -y gitlab-ce
- Omnibus gitlab 等相关配置初始化并完成安装
- 证书创建与配置加载
mkdir -p /etc/gitlab/ssl openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048 openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr" 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" openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048 chmod 600 /etc/gitlab/ssl/*
- nginx ssl 代理服务配置
vi /etc/gitlab/gitlab.rb 修改 external_url 'http://gitlab.example.com' 为 external_url 'https://gitlab.example.com' 修改 #nginx['redirect_http_to_https'] = false 为 nginx['redirect_http_to_https'] = true 修改**为 自己的路径# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" # nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key" 修改**为 # nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem 保存退出
- 初始化gitlab相关服务并完成安装
gitlab-ctl reconfigure vi /var/opt/gitlab/nginx/conf/gitlab-http.conf 在server_name 下添加 rewrite ^(.*)$ https://$host$1 permanent gitlab-ctl restart 在本机的hosts文件 添加ip 解析gitlab.example.com
- 访问https://gitlab.example.com即可