Centos7 Gitlab 安裝教程
- 1、前言
- 2、git 介紹
- 2、svn 與 git 對比
- 2.1、svn
- 2.2、git
- 3、git、gitlab、github 區別解釋
- 4、部署環境介紹
- 5、安裝前準備作業
- 5.1 安裝vim編輯器
- 5.2 安裝wget下載工具
- 5.3 ssh
- 5.4 防火墻相關
- 5.5 postfix
- 6、正式安裝
- 6.1 下載GitLab鏡像
- 6.2 安裝GitLab
- 6.3 修改GitLab的組態檔
- 6.4 初始化GitLab
- 6.5 啟動GitLab
1、前言
本文介紹gitlab的完整安裝步驟,原本團隊使用的版本管理工具是所有java開發都耳熟能詳的svn,一直覺得夠用了,也沒想過去換成比較火的git,但是隨著朋友、同行的熱捧最終決定使用git來作為團隊的版本管理工具,
安裝前覺得git、svn應該是差不多的東西,但是實際看過一些帖子之后發現安裝、使用上差別還是很大的,而且在安裝中我也出了不少問題,網上的帖子比較少,所以決定詳細寫一篇自己的,留作筆記,也希望這段筆記可以幫助到跟我一樣正在接觸git的開發朋友們,
2、git 介紹
同生活中的許多偉大事件一樣,Git 誕生于一個極富紛爭大舉創新的年代,Linux 內核開源專案有著為數眾廣的參與者,絕大多數的 Linux 內核維護作業都花在了提交補丁和保存歸檔的繁瑣事務上(1991-2002年間),到 2002 年,整個專案組開始啟用分布式版本控制系統 BitKeeper 來管理和維護代碼,
到 2005 年的時候,開發 BitKeeper 的商業公司同 Linux 內核開源社區的合作關系結束,他們識訓了免費使用 BitKeeper 的權力,這就迫使 Linux 開源社區(特別是 Linux的締造者 Linus Torvalds )不得不吸取教訓,只有開發一套屬于自己的版本控制系統才不至于重蹈覆轍,他們對新的系統訂了若干目標:
| 序號 | 目標 |
|---|---|
| 1 | 速度 |
| 2 | 簡單的設計 |
| 3 | 對非線性開發模式的強力支持(允許上千個并行開發的分支) |
| 4 | 完全分布式 |
| 5 | 有能力高效管理類似 Linux 內核一樣的超大規模專案(速度和資料量) |
2、svn 與 git 對比
2.1、svn
svn版本管理服務器:是集中式式版本管理系統,何為集中就是svn服務器,與集中相呼應的就是終端也就是svn客戶端或者白話說就是每個開發的自己的筆記本、臺式機,
svn的中央型模式決定了他的使用流程
| 步驟 | svn作業內容 |
|---|---|
| 第一步 | 創建空專案提交到svn |
| 第二步 | 所有開發人員checkout專案到本地開發機器中 |
| 第三步 | 開發人員開始開發,每次開發前先更新代碼,從中央服務器保證本機代碼最新,然后再提交自己撰寫的代碼 |
| 總結 | 代碼集中管理,本地沒有代碼倉庫,通過更新、提交兩個步驟,將代碼統一存盤在中央服務器倉庫中 |
下圖展示了 Svn 的作業流程:

2.2、git
分布式版本管理軟體,每個參與開發的人的電腦上都有一個完整的倉庫,有著非常強大的分支管理功能,常用于代碼托管,
| 步驟 | git作業內容 |
|---|---|
| 1 | 從遠程倉庫(git服務器)中克隆 Git 資源作為本地倉庫, |
| 2 | 從本地倉庫(本地倉庫)中checkout代碼然后進行代碼修改 |
| 3 | 在提交前先將代碼提交到暫存區, |
| 4 | 提交修改,提交到本地倉庫,本地倉庫中保存修改的各個歷史版本, |
| 5 | 在修改完成后,需要和團隊成員共享代碼時,可以將代碼push到遠程倉庫, |
下圖展示了 Git 的作業流程:


3、git、gitlab、github 區別解釋
git : 版本控制系統,是一種命令、是一種工具,是一個概念
github : 是基本git這個概念實作的在線代碼倉庫,是一個網站界面,互聯網開發
gitlab : 是一個給予git實作的在線代碼軟體,可以自己搭建一個gitlab,模擬類似github一樣的系統,一般用于搭建私服git服務器使用,
| 標題 | 概念 |
|---|---|
| git | git是一個概念 |
| github | github在線代碼倉庫,一個做好的網站 |
| gitlab | gitlab開源軟體,可以搭建自己的私有化git服務器,給自己的開發團隊使用 |
4、部署環境介紹
系統:centos7
gitlab:gitlab-11.11.8版本
gitlab下載地址:gitlab下載地址
5、安裝前準備作業
安裝gitlab需要若干相關依賴,我們先提前把所有相關依賴進行安裝
5.1 安裝vim編輯器
yum install vim -y
5.2 安裝wget下載工具
yum -y install wget
5.3 ssh
安裝ssh ?
sudo yum install -y curl policycoreutils-pythonopenssh-server
設定SSH服務開機自啟動 ?
sudo systemctl enable sshd
啟動SSH服務 ?
sudo systemctl start sshd
5.4 防火墻相關
安裝防火墻 ?
yum install firewalld systemd -y
開啟防火墻 ?
sudo firewall-cmd --permanent --add-service=http
添加埠進入防火墻(這個埠需要主意,就是以后gitlab的連接埠)?
#本帖子中使用的埠是4433
firewall-cmd --permanent --add-port=4433/tcp
重啟防火墻后,開發的埠才有效 ?
systemctl reload firewalld
檢查防火墻中埠是否開啟 ?
firewall-cmd --query-port=4433/tcp
5.5 postfix
安裝postfix ?
yum install -y postfix
修改postfix配置 ?
#編輯postfix組態檔
vim /etc/postfix/main.cf
#修改如下內容
inet_protocols = ipv4
啟動postfix ?
systemctl enable postfix
systemctl start postfix
6、正式安裝
6.1 下載GitLab鏡像
使用國內鏡像網站,下載速度快,本例子中使用的是清華大學開源軟體鏡像站,
本例中GitLab版本:gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
6.2 安裝GitLab
rpm gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

提示如上圖片,代表GitLab初步安裝成功,可以開始進一步配置,?
6.3 修改GitLab的組態檔
GitLab 502問題,我看網友帖子、包括我自己都有這個問題,所以特意寫一下,出現502問題最主要的原因就是埠沖突,GitLab默認是80埠,但是80埠有可能已經被其他程式占用,所有需要找一個未必占用的埠進行修改,我本例使用的是4433埠
vim /etc/gitlab/gitlab.rb
external_url 后跟的網址就是GitLab的登陸網址,網址中埠寫的多少,GitLab埠就是多少,這里需要注意!!!

6.4 初始化GitLab
每次修改完GitLab配置之后,都需要執行如下命令,配置才會生效.
該命令等待時間很長,控制臺一直輸出GitLab日志,這個時候不要著急,我自己本機是使用Vm中虛擬機搭建環境,60G硬碟,1G記憶體,1核處理器,共等待差不多3-5分鐘左右,
gitlab-ctl reconfigure
6.5 啟動GitLab
gitlab-ctl restart

在瀏覽器中打開網址,如出現上圖那么說明部署完成 ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241480.html
標籤:其他
上一篇:我的2020年總結
