一、GitLab基礎(chǔ)概念:
- 它是一個(gè)開(kāi)源的git倉(cāng)庫(kù)服務(wù)器。用于實(shí)現(xiàn)代碼集中托管。
- 分為企業(yè)版和CE社區(qū)版。
- 部署方式:軟件包部署、容器部署。
二、通過(guò)容器部署gitlab服務(wù)器
第一步:準(zhǔn)備環(huán)境
- 配置ip及yum環(huán)境
- 安裝容器podman軟件
# 安裝容器管理軟件podman
[root@gitlab ~]# yum install -y podman
- 修改gitlab服務(wù)器的ssh端口號(hào)。
- 因?yàn)間itlab容器也要用到22端口,有沖突。
# +17是打開(kāi)文件時(shí),光標(biāo)直接定位到第17行。
# 將ssh的端口修改為2022
[root@gitlab ~]# vim +17 /etc/ssh/sshd_config
17 Port 2022
# 重啟sshd服務(wù)生效配置
[root@gitlab ~]# systemctl restart sshd
# ssh連接退出,再登陸時(shí),需要指定端口號(hào)
[root@develop ~]# ssh -p2022 192.168.4.20
第二步:導(dǎo)入gitlab鏡像
# 導(dǎo)入鏡像。
# 一個(gè)鏡像可以創(chuàng)建很多容器。
# 鏡像是只讀的,容器是可以改變的。
# 容器相當(dāng)于是精簡(jiǎn)的虛擬機(jī),可以像虛擬機(jī)一樣,對(duì)外提供服務(wù)。
[root@gitlab ~]# podman load < gitlab_zh.tar
- 容器如果出現(xiàn)故障,首先的排錯(cuò)方法是重啟它;如果無(wú)效,刪掉重建。
- 為了刪容器,不丟失數(shù)據(jù),需要把容器需要的數(shù)據(jù)保存在宿主機(jī)上。
# 在哪臺(tái)主機(jī)上啟動(dòng)容器,哪臺(tái)主機(jī)就是宿主機(jī)。
# 在gitlab服務(wù)器上創(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后臺(tái)運(yùn)行。
# -h gitlab設(shè)置容器的主機(jī)名。
# --name gitlab是podman ps查看到的容器名;
# -p指定發(fā)布的端口號(hào),當(dāng)訪問(wèn)宿主機(jī)443/80/22端口時(shí),這樣的請(qǐng)求就發(fā)給容器的相關(guān)端口;
# --restart always是開(kāi)機(jī)自啟;
# -v是映射路徑,將容器中指定的路徑,映射到宿主機(jī),以便保存容器產(chǎn)生的數(shù)據(jù);
# 最后的gitlab_zh是鏡像名。(沒(méi)有.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容器開(kāi)機(jī)自啟
# --restart always在podman中可能無(wú)效
[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
# 如果一切正常,幾分鐘后,可以訪問(wèn)http://192.168.88.20/
# 以自己gitlab服務(wù)器的ip為準(zhǔn)
- 附:如果容啟動(dòng)失敗,再次創(chuàng)建有以下錯(cuò)誤:
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
- 則可以將容器進(jìn)行刪除,重新進(jìn)行創(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
- 第一次登陸時(shí),要求改密碼。密碼需要是復(fù)雜密碼,如1234.com。修改之后,登陸的用戶名是root。
配置外觀

自定義外觀1.png

自定義外觀2.png
-
點(diǎn)擊下面的保存后,LOGO圖標(biāo)將會(huì)改變。退出后,登陸界面也會(huì)有變化。
自定義外觀3.png
創(chuàng)建用戶
- 用戶:為使用gitlab的用戶創(chuàng)建的賬號(hào)。
- 創(chuàng)建用戶1.png
- 填寫(xiě)截圖上的幾項(xiàng)后,其他使用默認(rèn)配置,點(diǎn)保存。
-
創(chuàng)建好用戶后,點(diǎn)擊編輯,可以為他/她設(shè)置密碼:
創(chuàng)建用戶2.png - 保存修改后,退出當(dāng)前賬號(hào),使用新賬號(hào)登陸測(cè)試。第一次登陸時(shí),也是要求修改密碼,新密碼可以設(shè)置與舊密碼一樣。新建的jerry用戶因?yàn)闄?quán)限較小,所以看到的界面,沒(méi)有root的功能多。
創(chuàng)建組
-
注意,創(chuàng)建組需要使用root賬號(hào)
創(chuàng)建組1.png -
將jerry加到develop2組中,角色是“主程序員”
創(chuàng)建組2.png -
設(shè)置可見(jiàn)等級(jí):公開(kāi)
創(chuàng)建組3.png
創(chuàng)建項(xiàng)目

創(chuàng)建項(xiàng)目1.png
-
設(shè)置可見(jiàn)等級(jí):公開(kāi)
創(chuàng)建項(xiàng)目2.png






