1. Gitlab和Github的區(qū)別
`Gitlab`是一個開源的`git`倉庫管理軟件,并提供web界面,方便管理`git倉庫`。和`Github`很相似,不過`Github`暫時沒有開源版本,項目必須托管到`Github`官方網(wǎng)站,不能本地部署。很多公司考慮到安全費用等因素,搭建自己的`Gitlab`服務(wù)器。
1.1 GitHub如果使用私有倉庫,是需要付費的,GitLab可以在自己的服務(wù)器上搭建私人的免費倉庫
1.2 GitLab讓開發(fā)團隊對他們的代碼倉庫擁有更多的控制,相對于GitHub,它有不少的特色:
允許免費設(shè)置倉庫權(quán)限
允許用戶選擇分享一個project的
部分代碼允許用戶設(shè)置
project的獲取權(quán)限,進一步提升安全性可以設(shè)置獲取到團隊整體的改進進度
通過
innersourcing讓不在權(quán)限范圍內(nèi)的人訪問不到該資源
2. 服務(wù)器及安裝前準備
- 服務(wù)器版本:CentOS 7
- 將官網(wǎng)文檔作為安裝指導(dǎo):https://about.gitlab.com/install/
3. 開始安裝
3.1 點擊上一步的官網(wǎng)鏈接選擇自己的Linux系統(tǒng)版本,點擊 install instructions
官網(wǎng)幫助文檔頁面
3.2 使用遠程工具(Putty、Xshell等)登錄到Linux服務(wù)器,使用su root命令切換至root用戶,參考指導(dǎo)文檔,將下述命令copy至終端運行為正式安裝做準備
sudo yum install -y curl policycoreutils-python openssh-server perl
# Enable OpenSSH server daemon if not enabled: sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
3.3 copy以下命令至終端運行,此步是為Gitlab Server向用戶發(fā)郵件做準備
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
3.4 添加Gitlab Package源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
如果你有更快的源可以推薦,則替換掉上述的URL即可
3.5 正式開始安裝Gitlab服務(wù)
在終端運行以下命令
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee
命令講解:
-
EXTERNALURL意為外部訪問鏈接,該命令中表示待Gitlab安裝完畢后,可在瀏覽器輸入https://gitlab.example.com遠程訪問服務(wù)器并進行注冊、登錄、創(chuàng)建project等操作。該鏈接可在安裝完畢后,通過配置文件進行更改。 - 通過該命令安裝完成后,沒有為自動創(chuàng)建的root管理員賬戶設(shè)置密碼,但會生成一個臨時密碼
3.6 ROOT用戶密碼相關(guān)問題
3.6.1 查看系統(tǒng)為root用戶自動生成的臨時密碼
cat /etc/gitlab/initial_root_password
最后一行即為臨時密碼:
3.6.2 為ROOT用戶重置密碼
- 在終端輸入以下命令進入控制臺對話框
sudo gitlab-rails console
你將進入以下命令窗口:

-
輸入以下命令查找到
root用戶,并將root用戶的信息賦值給user變量(root用戶的ID為1)user=User.find(1) -
分別輸入以下命令為
root用戶重置密碼,默認密碼長度不能小于8位,且需要用雙引號""將密碼括起來,切記不可使用單引號''(官網(wǎng)文檔上使用的是單引號,但不知為啥我使用單引號設(shè)置的密碼登錄系統(tǒng)時依然顯示密碼錯誤)!user.password="12345678" user.password_confirmation="12345678" user.save! exitsave后面的感嘆號不可省略!
3.7 修改外部訪問鏈接
3.7.1 修改鏈接前先準備一個沒有被占用的端口號,例如,使用以下命令檢查8888端口是否被占用,且保證防火墻未將此端口屏蔽
netstat -nap | grep 8888
若該端口號未被占用,則不會輸出任何信息

若端口號被占用,則會輸出占用該端口的服務(wù)信息,如:
3.7.2 輸入以下命令打開Gitlab配置文件
vi /etc/gitlab/gitlab.rb
在命令模式下輸入/external_url查找其配置信息所在位置,按箭頭將光標移動到想要修改的位置,按下i或a鍵進入編輯模式,將安裝時使用的https://gitlab.example.com替換為你想使用的URL。由于我的服務(wù)器沒有綁定域名且沒有進行數(shù)字簽名證書認證(不能使用https),直接使用http://公網(wǎng)IP:端口號的形式進行配置,如http://192.168.0.14:8888
修改完畢后,按下esc鍵,輸入wq!即可保存并退出。
3.7.3 重置并重啟Gitlab
上述External URL修改完畢后一定要重置和重啟Gitlab
# 重置Gitlab,過程較長,需耐心等待
gitlab-ctl reconfigure
# 重啟Gitlab
gitlab-ctl restart
3.8 訪問Gitlab
在其他電腦的瀏覽器地址欄輸入在步驟3.7中External URL即可訪問到自己搭建的Gitlab服務(wù)器,root用戶擁有最高權(quán)限,使用root用戶登錄后可進行 項目管理,用戶管理,權(quán)限配置等操作。
可將此鏈接發(fā)給團隊成員,每人注冊了賬號后,即可屬于自己的repository,也可以在管理員的管控下,參與團隊共享的repository。
一起進行協(xié)同開發(fā)、版本控制吧!
更多強大功能待你發(fā)掘!
篇幅有限,無法覆蓋所有可能遇到的問題,如遇到困難,歡迎留言或私信交流,記得加個關(guān)注呦!