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/
- 新建鏡像 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即可