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即可