Ubuntu 16.04系統下搭建GitLab Server

一:"git" 家族的成員
首先解決一個容易混淆的問題,我也經常搞混:
git 是一種版本控制系統,是一個命令,是一種工具
gitlib 是用於實現git功能的開發庫
github 是一個基於git實現的在線代碼託管倉庫,包含一個網站界面,向互聯網開放
gitlab 是一個基於git實現的在線代碼倉庫託管軟件,你可以用gitlab自己搭建一個類似於github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服

二:安裝GitLab的需求
硬件需求 
存儲 
存儲空間的大小主要取決於你將存儲的Git倉庫的大小。但根據 rule of thumb(經驗法則) 你應該考慮多留一些空間用來存儲Git倉庫的備份。

如果你想使用彈性的存儲空間,你可以考慮在分配分區的時候使用LVM架構,這樣可以在後期需要的清空下添加硬盤在增加存儲空間。

除此之外你還可以掛在一個支持NFS的分卷,比如NAS、 SAN、AWS、EBS。

如果你的服務器有足夠大的內存和CPU處理性能,GitLab的響應速度主要受限於硬盤的尋道時間。 使用更快的硬盤(7200轉)或者SSD硬盤會很大程度的提升GitLab的響應速度。

CPU 
·1 核心CPU最多支持100個用戶,所有的workers和後臺任務都在同一個核心工作這將導致GitLab服務響應會有點緩慢。
·2核心 支持500用戶,這也是官方推薦的最低標準。
·4 核心支持2,000用戶。
·8 核心支持5,000用戶。
·16 核心支持10,000用戶。
·32 核心支持20,000用戶。
·64 核心支持40,000用戶。
Memory 
安裝使用GitLab需要至少4GB可用內存(RAM + Swap)! 由於操作系統和其他正在運行的應用也會使用內存, 所以安裝GitLab前一定要注意當前服務器至少有4GB的可用內存. 少於4GB內存會導致在reconfigure的時候出現各種詭異的問題, 而且在使用過程中也經常會出現500錯誤.

·1GB 物理內存 + 3GB 交換分區 是最低的要求,但我們 強烈反對 使用這樣的配置。 
·2GB 物理內存 + 2GB 交換分區 支持100用戶,但服務響應會很慢。
·4GB 物理內存 支持100用戶,也是 官方推薦 的配置。
·8GB 物理內存 支持 1,000 用戶。
·16GB 物理內存 支持 2,000 用戶。
·32GB 物理內存 支持 4,000 用戶。
·64GB 物理內存 支持 8,000 用戶。
·128GB 物理內存 支持 16,000 用戶。
·256GB 物理內存 支持 32,000 用戶。
即使你服務器有足夠多的RAM, 也要給服務器至少分配2GB的交換分區。 因爲使用交換分區可以在你的可用內存波動的時候降低GitLab出錯的機率。

注意: Sidekiq的25個workers在查看進程(top或者htop)的時候會發現它會單獨顯示每個worker,但是它們是共享內存分配的,這是因爲Sidekiq是一個多線程的程序。 

三:在Ubuntu 16.04搭建GitLab服務器操作過程
引言:在Ubuntu 16.04操作系統中搭建GitLab服務器(參考資料:https://about.gitlab.com/downloads/#ubuntu1604)
1.安裝依賴包,運行命令
非root用戶:sudo apt-get install curl openssh-server ca-certificates postfix
執行完成後,出現郵件配置,選擇Internet那一項(不帶Smarthost的)
詳解
curl:是利用URL語法在命令行方式下工作的開源文件傳輸工具。
openssh-server:提供開放源代碼的加密通訊軟件
ca-certificates:現在很多網站和服務都使用了HTTPS進行鏈路加密、防止信息在傳輸中間節點被竊聽和篡改。HTTPS的啓用都需要一個CA證書,以保證加密過程是可信的。
postfix:電子郵件服務器

2.利用清華大學的鏡像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)來進行主程序的安裝。 
首先信任 GitLab 的 GPG 公鑰:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
(如果下載過程中訪問超時出錯,請用curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash,並直接跳入gitlab-ce安裝)
然後通過root用戶利用vi新建並打開文件/etc/apt/sources.list.d/gitlab-ce.list,加入下載地址:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
最後安裝 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce

3.執行配置並啓動gitlab Server
sudo gitlab-ctl reconfigure


4.打開 sshd 和 postfix 服務

service sshd start 

systemctl postfix status //查看postfix狀態

service postfix start 
5.了使 GitLab 社區版的 Web 界面可以通過網絡進行訪問,我們需要允許 80 端口通過防火牆,這個端口是 GitLab 社區版的默認端口。爲此需要運行下面的命令(此操作可省略)
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 

6.檢查GitLab是否安裝好並且已經正確啓動運行,輸入下面的命令
sudo gitlab-ctl status
獲得如下幾項相同啓動結果,則說明GitLab運行正常
run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s

7.在瀏覽器地址欄中輸入:http://127.0.0.1,即可訪問GitLab的Web頁面

注意:第一次登錄web頁面時需要對root用戶設置密碼

8.gtilab部分命令

sudo gitlab-ctl stop停止

sudo gitlab-ctl start開啓

sudo gitlab-ctl restart重啓

sudo gitlab-ctl status查看狀態

sudo gitlab-ctl reconfigure確認配置(修改配置後,必須執行)

sudo gitlab-ctl tail 查看日誌

9.卸載gitlab

執行如下四步:

sudo gitlab-ctl uninstall

sudo dpkg -r gitlab-ce

sudo rpm -e gitlab-ce

reboot(重啓)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章