centos7-gitlab平台搭建

  • 2019 年 10 月 4 日
  • 笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_37933685/article/details/89026399

文章目录

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组件 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
    • 镜像切换

    Gitlab 国外镜像速度一向感人,而且是不是的还抽风,所以在国内搭建 Gitlab 使用的时候,还是切换成墙内镜像比较放心。目前官方支持的国内镜像是清华大学的镜像站,地址:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

  1. 新建镜像 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即可