安装配置gitlab
目录
安装配置gitlab
Gitlab的优势和应用场景
开源免费,适合中小型公司将代码放置在该系统中
差异化的版本管理,离线同步以及强大分支管理功能
便捷的GUI操作界面以及强大账户权限管理功能
集成度很高,能够集成绝大多数的开发工具
支持内置HA,保证在高并发下仍旧实现高可用性
Gitlab主要服务构成
Nginx静态Web服务器
Gitlab-workhorse轻量级的反向代理服务器
Gitlab-shell用于处理Git命令和修改authorized keys列表
Logrotate日志文件管理工具
Postgresql数据库
Redis缓存服务器
工作流程:
创建并克隆项目
创建项目某Feature分支
编写代码并提交至该分支
推送该项目分支至远程Gitlab服务器
进行代码检查并提交Master主分支合并申请
项目领导审查代码并确认合并申请
centos下:
安装配置管理:
1.关闭firewalld防火墙 #systemctl stop firewalld #systemctl disable firewalld
2.关闭SELINUX并重启系统 #vi /etc/sysconfig/selinux ...SELINUX=disabled... #reboot #getenforce 查询selinux
安装Omnibus Gitlab-ce package
1.安装Gitlab组件 #yum -y install curl policycoreutils openssh-server openssh-clients postfixs
2.配置YUM仓库 #curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3.启动postfix邮件服务 #systemctl start postfix && systemctl enable postfix
4.安装Gitlab-ce社区版本 #yum install -y gitlab-ce
Omnibus Gitlab等相关配置初始化并完成安装
1.证书创建与配置加载
创建目录--
#mkdir -p /etc/gitlab/ssl
创建本地私有密钥--
#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"
===cn ---gd--gz--空格+enter--空格+enter--gitlab.example.com--admin@example.com--123456(证书密码)--enter
用密钥和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
更改所有证书的权限(ssl/下操作)
chmod 600 *
将所有证书配置到gitlab的配置文件当中
vi /etc/gitlab/gitlab.rb ---- external_url 中的http 修改为 https
编辑模式下查找:
/redirect_http_to_https
找到这一行将注释删除掉 且将值改为true
/ssl_certificate这一行
将#{.....} 改为gitlab.example.com
/ssl_certificate_key
将#{.....} 改为gitlab.example.com
/ssl_dhparam
#之前添加
/etc/gitlab/ssl/dhparams.pem
OK wq
#gitlab-ctl reconfigure 初始化gitlab的相关服务配置 gitlab会使用chef自动化部署工具初始化相关配置
2.Nginx SSL代理服务配置
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
编辑模式 输入/server_name 该行下一行输入以下内容 重定向所有gitlab https请求
rewrite ^(.*)$ https://$host$1 permanent;
3.初始化Gitlab相关服务并完成安装
gitlab-ctl restart重启
新增DNS记录,将某域名重定向到主机ip
登录 修改win10下的c:\windows\system32\drivers\etc\hosts文件 添加168..... (tab) gitlab.example.com