搭建屬于自己的GitLab
一:硬件需求
存儲
存儲空間的大小主要取決于你將存儲的Git倉庫的大小流码。但根據(jù) rule of thumb(經(jīng)驗法則) 你應(yīng)該考慮多留一些空間用來存儲Git倉庫的備份力九。
如果你想使用彈性的存儲空間诡延,你可以考慮在分配分區(qū)的時候使用LVM架構(gòu)寄悯,這樣可以在后期需要的清空下添加硬盤在增加存儲空間菇曲。
除此之外你還可以掛在一個支持NFS的分卷虐沥,比如NAS雁刷、 SAN、AWS蚤霞、EBS酗失。
如果你的服務(wù)器有足夠大的內(nèi)存和CPU處理性能,GitLab的響應(yīng)速度主要受限于硬盤的尋道時間昧绣。 使用更快的硬盤(7200轉(zhuǎn))或者SSD硬盤會很大程度的提升GitLab的響應(yīng)速度规肴。
CPU
- 1 核心CPU最多支持100個用戶,所有的workers和后臺任務(wù)都在同一個核心工作這將導(dǎo)致GitLab服務(wù)響應(yīng)會有點緩慢夜畴。
- 2核心 支持500用戶拖刃,這也是官方推薦的最低標(biāo)準(zhǔn)。
- 4 核心支持2,000用戶贪绘。
- 8 核心支持5,000用戶兑牡。
- 16 核心支持10,000用戶。
- 32 核心支持20,000用戶税灌。
- 64 核心支持40,000用戶均函。
- 如果想支持更多用戶,可以使用 集群式架構(gòu)
Memory
安裝使用GitLab需要至少4GB可用內(nèi)存(RAM + Swap)! 由于操作系統(tǒng)和其他正在運行的應(yīng)用也會使用內(nèi)存, 所以安裝GitLab前一定要注意當(dāng)前服務(wù)器至少有4GB的可用內(nèi)存. 少于4GB內(nèi)存會導(dǎo)致在reconfigure的時候出現(xiàn)各種詭異的問題, 而且在使用過程中也經(jīng)常會出現(xiàn)500錯誤.
- 1GB 物理內(nèi)存 + 3GB 交換分區(qū) 是最低的要求菱涤,但我們 強烈反對 使用這樣的配置苞也。 查看下面unicorn worker章節(jié)獲取更多建議。
- 2GB 物理內(nèi)存 + 2GB 交換分區(qū) 支持100用戶粘秆,但服務(wù)響應(yīng)會很慢如迟。
- 4GB 物理內(nèi)存 支持100用戶,也是 官方推薦 的配置攻走。
- 8GB 物理內(nèi)存 支持 1,000 用戶殷勘。
- 16GB 物理內(nèi)存 支持 2,000 用戶。
- 32GB 物理內(nèi)存 支持 4,000 用戶昔搂。
- 64GB 物理內(nèi)存 支持 8,000 用戶玲销。
- 128GB 物理內(nèi)存 支持 16,000 用戶。
- 256GB 物理內(nèi)存 支持 32,000 用戶摘符。
- 如果想支持更多用戶痒玩,可以使用 集群式架構(gòu)
官網(wǎng) https://about.gitlab.com/downloads/
二:"git" 家族的成員
首先解決一個容易混淆的問題淳附,我也經(jīng)常搞混:
| git | 是一種版本控制系統(tǒng),是一個命令蠢古,是一種工具 |
| gitlib | 是用于實現(xiàn)git功能的開發(fā)庫 |
| github | 是一個基于git實現(xiàn)的在線代碼托管倉庫奴曙,包含一個網(wǎng)站界面,向互聯(lián)網(wǎng)開放 |
| gitlab | 是一個基于git實現(xiàn)的在線代碼倉庫托管軟件草讶,你可以用gitlab自己搭建一個類似于github一樣的系統(tǒng)洽糟,一般用于在企業(yè)、學(xué)校等內(nèi)部網(wǎng)絡(luò)搭建git私服 |
三:官方推薦安裝
1堕战、安裝依賴包
yum 方式:
yum install curl policycoreutils openssh-server openssh-clients
確保sshd啟動(正常情況下, sshd是啟動的)
systemctl enable sshd && systemctl start sshd
yum install postfix
systemctl enable postfix && systemctl start postfix
永久設(shè)置http服務(wù)開放
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
apt方式:
sudo apt-get install curl openssh-server ca-certificates postfix
2坤溃、安裝 gitlab-ce 社區(qū)版 (ee是企業(yè)版,收費)
yum方式:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |sudo bash
yum install gitlab-ce
apt 方式:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
下面是yum方式
[root@aliyun ~]# yum install gitlab-ce -y
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解決依賴關(guān)系
--> 正在檢查事務(wù)
---> 軟件包 gitlab-ce.x86_64.0.10.3.3-ce.0.el7 將被 安裝
--> 解決依賴關(guān)系完成
依賴關(guān)系解決
==================================================================================================================================================================================
Package 架構(gòu) 版本 源 大小
==================================================================================================================================================================================
正在安裝:
gitlab-ce x86_64 10.3.3-ce.0.el7 gitlab_gitlab-ce 377 M
事務(wù)概要
==================================================================================================================================================================================
安裝 1 軟件包
總下載量:377 M
安裝大兄龆:1.1 G
成功安裝 gitlab-ce-10.3.3-ce.0.el7.x86_64
2薪介、安裝 gitlab-ce 社區(qū)版(rpm包安裝方式)
wget [https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download](https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download)
rpm -i gitlab-ce-XXX.rpm
3、配置并開啟 gitlab
如果設(shè)備配置比較低, 會在啟動過程中卡死, 建議最低雙核2G內(nèi)存
gitlab-ctl reconfigure //此時會輸入如下很多信息越驻,并啟動好多服務(wù)
4汁政、測試訪問
首次登陸會跳出設(shè)置密碼的界面,設(shè)置完后自動跳轉(zhuǎn)到登錄界面缀旁,默認(rèn)用戶名root记劈。
登陸進(jìn)去后,可以更改用戶名并巍、密碼等目木。
初始登入時,總報502懊渡,也沒有防火墻刽射,經(jīng)檢查是內(nèi)存不足,我是1G剃执。
5誓禁、說明
缺點:這種方式雖然說簡單方便,但是定制型很差忠蝗,默認(rèn)只能使用postgre和nginx
主配置文件:/etc/gitlab/gitlab.rb //可以自定義一些郵件服務(wù)等
日志地址:/var/log/gitlab/ // 對應(yīng)各服務(wù)
服務(wù)地址:/var/opt/gitlab/ // 對應(yīng)各服務(wù)的主目錄
倉庫地址:/var/opt/gitlab/git-data //記錄項目倉庫等提交信息
重置配置:gitlab-ctl reconfigure //不要亂用,會重置為最原始的配置的
重啟服務(wù):gitlab-ctl stop/start/restart //啟動命令
默認(rèn)安裝:postgres漓拾、nginx阁最、redis、unicorn ......
6骇两、配置(就是點點點速种,熟悉熟悉這個應(yīng)用)
a、創(chuàng)建一個項目組groups低千,生成路徑/var/opt/gitlab/git-```
data/repositories/配阵;
b馏颂、創(chuàng)建一個倉庫,可用三種方式鏈接棋傍,新的倉庫救拉、已存在的文件夾、已存在的倉庫瘫拣;
創(chuàng)建時可導(dǎo)入 github亿絮、gitlab、googlecode 等其他地方的倉庫麸拄,需要對方token
c派昧、根據(jù)下圖路徑及提示,創(chuàng)建用戶拢切、不加入或加入項目組或者項目或項目子組蒂萎;
該用戶在此界面上面 Users 中設(shè)置密碼后登錄,根據(jù)得到的鏈接地址 git 到倉庫
當(dāng)然把你這臺機(jī)器上的公鑰拷到 seting -> ssh key 即可省去輸入如密碼一項
d淮椰、你的每次提交都會有記錄在服務(wù)端 該組或該用戶所在repositories中五慈。
好了,簡單的使用教程就到此為止了实苞,后續(xù)更深入的使用豺撑,再與大家共同分享。
簡化的使用手冊:http://www.linuxidc.com/Linux/2017-04/142664.htm
更多GitLab相關(guān)教程見以下內(nèi)容:
Ubuntu 14.04下安裝GitLab指南 http://www.linuxidc.com/Linux/2015-12/126876.htm
如何在Ubuntu Server 14.04下安裝Gitlab中文版 http://www.linuxidc.com/Linux/2015-12/126875.htm
CentOS源碼安裝GitLab漢化版 http://www.linuxidc.com/Linux/2015-10/124648.htm
在 Ubuntu 12.04 上安裝 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htm
GitLab 5.3 升級注意事項 http://www.linuxidc.com/Linux/2013-06/86473.htm
在 CentOS 上部署 GitLab (自托管的Git項目倉庫) http://www.linuxidc.com/Linux/2013-06/85754.htm
在RHEL6/CentOS6/ScientificLinux6上安裝GitLab 6.0.2 http://www.linuxidc.com/Linux/2014-03/97831.htm
CentOS 6.5安裝GitLab教程及相關(guān)問題解決 http://www.linuxidc.com/Linux/2014-05/101526.htm
升級GitLab到8.2.0 http://www.linuxidc.com/Linux/2015-12/126220.htm