Linux系統下搭建Gitlab服務器


GitLab有社區版(CE) 和企業版(EE),社區版是免費,對絕大部分公司來說功能是足夠用了 ,在企業內部搭建,可以創建私有項目。

下面介紹在CentOS7上安裝gitlab-ce社區版的步驟

1. 安裝前准備

在CentOS系統上安裝所需的依賴:ssh,防火牆,postfix(用於郵件通知) ,wget(用於從外網上下載插件)

以上這些可以不用考慮安裝,因為CentOS7中已經自帶安裝好了ssh,防火牆,wget

配置:建議CPU2核,內存4G以上,因為gitlab對系統要求比較高,啟動后占用很大內存,否則訪問會報502錯誤

2. 添加gitlab鏡像源並安裝gitlab服務器

鏡像地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

添加gitlab鏡像

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

鏡像有點大,下載比較慢,根據網速快慢,需要等幾分鍾或者十幾分鍾

3. 安裝gitlab

安裝rpm包,安裝命令:

rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

安裝過程需要些時間,安心等待,如果出現下圖,則說明安裝成功。

4. 修改gitlab配置文件,指定服務器ip和自定義端口:

輸入命令編輯配置文件:vim /etc/gitlab/gitlab.rb

#修改訪問URL
#格式:external_url 'http://ip:端口'
external_url 'http://192.168.80.128:8081'
#配置時區(可以不用配置)
gitlab_rails['time_zone'] = 'Asia/Shanghai'

ps:注意這里設置的端口不能被占用,默認是8080端口,如果8080已經使用,請自定義其它端口,並在防火牆設置開放相對應得端口

配置完以后還需要修改一處,去掉unicorn['port']=8080前面的注釋#,並修改下端口號,注意和上面端口區分開。

如上, 默認端口是8080, 一般都會被占用, 所以修改為自己需要的端口;

進入編輯器后按“i”鍵進入編輯狀態,ESC鍵退出編輯狀態

退出並保存,命令輸入“:wq”

5. 防火牆開放端口

# 開放上面配置的external_url中的 8081端口 
firewall
-cmd --zone=public --add-port=8081/tcp --permanent

6. 重啟防火牆

firewall-cmd --reload

7. 查看端口號是否開啟

firewall-cmd --query-port=8081/tcp

8. 重置Gitlab(讓修改后的配置生效)

gitlab-ctl reconfigure

第一次重置過程需要大概幾分鍾時間,安心等待

9. 重啟Gitlab

gitlab-ctl restart

提示  "ok: run:"表示啟動成功

GitLab服務端常用命令:

gitlab-ctl start      # 啟動所有 gitlab 組件;
gitlab-ctl stop       # 停止所有 gitlab 組件;
gitlab-ctl restart    # 重啟所有 gitlab 組件;
gitlab-ctl status     # 查看服務狀態;
gitlab-ctl reconfigure        # 刷新配置文件;
vim /etc/gitlab/gitlab.rb     # 修改默認的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 檢查gitlab;
gitlab-ctl tail        # 查看日志;

10. 訪問Gitlab頁面

如果沒有域名,直接輸入服務器ip和指定端口進行訪問

初始管理員賬戶: root 

注:首次訪問時,會自動進入管理員密碼設置頁面,重新設置下密碼,管理員默認賬戶為root

登錄后可進行語言設置:

Settings -> Preferences -> Localization -> Language -> 簡體中文

11. 502錯誤

如果確定上面配置步驟沒問題,但是訪問GitLab還報502錯誤,這是虛擬機內存不夠導致的,首先保證Gitlab可用運行內存大於4G,端口未被占用,否則跑不起來

12. 添加用戶

當管理員在Gitlab新建用戶后,系統會自動發送郵件到用戶郵箱,用戶通過點擊郵件鏈接可自己配置密碼;

ps: 創建用戶后,用戶將收到郵件,郵件可能被拉黑,請到垃圾郵箱中查閱;

Gitlab權限管理

Gitlab用戶在組中有五種權限:Guest、Reporter、Developer、Master(Maintainer)、Owner

Guest:可以創建issue、發表評論,不能讀寫版本庫
Reporter:可以克隆代碼,不能提交,QA、PM可以賦予這個權限
Developer:可以克隆代碼、開發、提交、push,RD可以賦予這個權限
Master:可以創建項目、添加tag、保護分支、添加項目成員、編輯項目,核心RD負責人可以賦予這個權限
Owner:可以設置項目訪問權限 - Visibility Level、刪除項目、遷移項目、管理組成員,開發組leader可以賦予這個權限

Gitlab中的組和項目有三種訪問權限:Private、Internal、Public

Private:只有組成員才能看到
Internal:只要登錄的用戶就能看到
Public:所有人都能看到
開源項目和組設置的是Internal


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM