一、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






