Gitlab服務器搭建

一、GitLab基礎(chǔ)概念:

  • 它是一個開源的git倉庫服務器。用于實現(xiàn)代碼集中托管。
  • 分為企業(yè)版和CE社區(qū)版。
  • 部署方式:軟件包部署、容器部署。

二、通過容器部署gitlab服務器

第一步:準備環(huán)境

  • 配置ip及yum環(huán)境
  • 安裝容器podman軟件
# 安裝容器管理軟件podman
[root@gitlab ~]# yum install -y podman
  • 修改gitlab服務器的ssh端口號。
  • 因為gitlab容器也要用到22端口,有沖突。
# +17是打開文件時,光標直接定位到第17行。
# 將ssh的端口修改為2022
[root@gitlab ~]# vim +17 /etc/ssh/sshd_config 
17 Port 2022

# 重啟sshd服務生效配置
[root@gitlab ~]# systemctl restart sshd

# ssh連接退出,再登陸時,需要指定端口號
[root@develop ~]# ssh -p2022 192.168.4.20

第二步:導入gitlab鏡像

# 導入鏡像。
# 一個鏡像可以創(chuàng)建很多容器。
# 鏡像是只讀的,容器是可以改變的。
# 容器相當于是精簡的虛擬機,可以像虛擬機一樣,對外提供服務。
[root@gitlab ~]# podman load < gitlab_zh.tar
  • 容器如果出現(xiàn)故障,首先的排錯方法是重啟它;如果無效,刪掉重建。
  • 為了刪容器,不丟失數(shù)據(jù),需要把容器需要的數(shù)據(jù)保存在宿主機上。
# 在哪臺主機上啟動容器,哪臺主機就是宿主機。
# 在gitlab服務器上創(chuàng)建用于保存容器數(shù)據(jù)的目錄
[root@gitlab ~]# mkdir -p /srv/gitlab/{config,logs,data}
[root@gitlab ~]# ls /srv/gitlab/
config data logs

# gitlab容器需要/etc/resolv.conf文件。不存在則創(chuàng)建它
[root@gitlab ~]# touch /etc/resolv.conf

第三步:創(chuàng)建容器

  • podman run創(chuàng)建容器
# -d后臺運行。
# -h gitlab設(shè)置容器的主機名。
# --name gitlab是podman ps查看到的容器名;
# -p指定發(fā)布的端口號,當訪問宿主機443/80/22端口時,這樣的請求就發(fā)給容器的相關(guān)端口;
# --restart always是開機自啟;
# -v是映射路徑,將容器中指定的路徑,映射到宿主機,以便保存容器產(chǎn)生的數(shù)據(jù);
# 最后的gitlab_zh是鏡像名。(沒有.tar)
[root@gitlab ~]# podman run \
-d -h gitlab --name gitlab \
-p 443:443 -p 80:80 -p 22:22  \
--restart always -v /srv/gitlab/config:/etc/gitlab  \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab gitlab_zh

# 設(shè)置gitlab容器開機自啟
# --restart always在podman中可能無效
[root@gitlab ~]# vim /etc/rc.d/rc.local   
... ...
# 在文件尾部追加一行內(nèi)容如下:
podman start gitlab
# 給到文件執(zhí)行權(quán)限
[root@gitlab ~]# chmod +x /etc/rc.d/rc.local
  • 查看容器
[root@gitlab ~]# podman ps
# 如果一切正常,幾分鐘后,可以訪問http://192.168.88.20/ 
# 以自己gitlab服務器的ip為準
  • 附:如果容啟動失敗,再次創(chuàng)建有以下錯誤:
Error: error creating container storage: 
the container name "gitlab" is already in use by "ca425e33d7ff2給i他
d282cbec1033023851cff285fe9b819ed50d47a08a875372fde".
 You have to remove that container to be able to reuse that name.:
 that name is already in use
  • 則可以將容器進行刪除,重新進行創(chuàng)建:
# 刪除gitlab
[root@gitlab ~]# podman rm gitlab

# 重新創(chuàng)建容器
[root@gitlab ~]# podman run 
-d -h gitlab --name gitlab 
-p 443:443 -p 80:80 -p 22:22 
--restart always -v /srv/gitlab/config:/etc/gitlab 
-v /srv/gitlab/logs:/var/log/gitlab 
-v /srv/gitlab/data:/var/opt/gitlab gitlab_zh

第四步:web端配置gitlab

  • 第一次登陸時,要求改密碼。密碼需要是復雜密碼,如1234.com。修改之后,登陸的用戶名是root。

配置外觀

自定義外觀1.png

自定義外觀2.png
  • 點擊下面的保存后,LOGO圖標將會改變。退出后,登陸界面也會有變化。


    自定義外觀3.png

創(chuàng)建用戶

  • 用戶:為使用gitlab的用戶創(chuàng)建的賬號。
  • 創(chuàng)建用戶1.png
  • 填寫截圖上的幾項后,其他使用默認配置,點保存。
  • 創(chuàng)建好用戶后,點擊編輯,可以為他/她設(shè)置密碼:


    創(chuàng)建用戶2.png
  • 保存修改后,退出當前賬號,使用新賬號登陸測試。第一次登陸時,也是要求修改密碼,新密碼可以設(shè)置與舊密碼一樣。新建的jerry用戶因為權(quán)限較小,所以看到的界面,沒有root的功能多。

創(chuàng)建組

  • 注意,創(chuàng)建組需要使用root賬號


    創(chuàng)建組1.png
  • 將jerry加到develop2組中,角色是“主程序員”


    創(chuàng)建組2.png
  • 設(shè)置可見等級:公開


    創(chuàng)建組3.png

創(chuàng)建項目

創(chuàng)建項目1.png
  • 設(shè)置可見等級:公開


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

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

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