良心教程!手把手教你在Linux服務(wù)器搭建Gitlab實現(xiàn)團隊專屬的私有項目版本控制平臺

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ù)器及安裝前準備

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

最后一行即為臨時密碼:


ROOT用戶臨時密碼

3.6.2 為ROOT用戶重置密碼

  1. 在終端輸入以下命令進入控制臺對話框
sudo gitlab-rails console

你將進入以下命令窗口:

控制臺對話
  1. 輸入以下命令查找到root用戶,并將root用戶的信息賦值給user變量(root用戶的ID為1

    user=User.find(1)
    
  2. 分別輸入以下命令為root用戶重置密碼,默認密碼長度不能小于8位,且需要用雙引號""將密碼括起來,切記不可使用單引號''(官網(wǎng)文檔上使用的是單引號,但不知為啥我使用單引號設(shè)置的密碼登錄系統(tǒng)時依然顯示密碼錯誤)!

    user.password="12345678"
    user.password_confirmation="12345678"
    user.save!
    exit
    

    save后面的感嘆號不可省略!

3.7 修改外部訪問鏈接

3.7.1 修改鏈接前先準備一個沒有被占用的端口號,例如,使用以下命令檢查8888端口是否被占用,且保證防火墻未將此端口屏蔽

netstat -nap | grep 8888

若該端口號未被占用,則不會輸出任何信息

端口未被占用時無輸出結(jié)果

若端口號被占用,則會輸出占用該端口的服務(wù)信息,如:

端口被占用時輸出服務(wù)信息

3.7.2 輸入以下命令打開Gitlab配置文件

vi /etc/gitlab/gitlab.rb

在命令模式下輸入/external_url查找其配置信息所在位置,按箭頭將光標移動到想要修改的位置,按下ia鍵進入編輯模式,將安裝時使用的https://gitlab.example.com替換為你想使用的URL。由于我的服務(wù)器沒有綁定域名且沒有進行數(shù)字簽名證書認證(不能使用https),直接使用http://公網(wǎng)IP:端口號的形式進行配置,如http://192.168.0.14:8888

修改external url

修改完畢后,按下esc鍵,輸入wq!即可保存并退出。

3.7.3 重置并重啟Gitlab

上述External URL修改完畢后一定要重置和重啟Gitlab

# 重置Gitlab,過程較長,需耐心等待
gitlab-ctl reconfigure
# 重啟Gitlab
gitlab-ctl restart

3.8 訪問Gitlab

在其他電腦的瀏覽器地址欄輸入在步驟3.7External URL即可訪問到自己搭建的Gitlab服務(wù)器,root用戶擁有最高權(quán)限,使用root用戶登錄后可進行 項目管理,用戶管理,權(quán)限配置等操作。

可將此鏈接發(fā)給團隊成員,每人注冊了賬號后,即可屬于自己的repository,也可以在管理員的管控下,參與團隊共享的repository。

自己搭建的Gitlab登錄頁面

一起進行協(xié)同開發(fā)、版本控制吧!

更多強大功能待你發(fā)掘!

篇幅有限,無法覆蓋所有可能遇到的問題,如遇到困難,歡迎留言或私信交流,記得加個關(guān)注呦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容