Gitlab服务器搭建
2023-01-15 本文已影响0人
技术老男孩
一、GitLab基础概念:
- 它是一个开源的git仓库服务器。用于实现代码集中托管。
- 分为企业版和CE社区版。
- 部署方式:软件包部署、容器部署。
二、通过容器部署gitlab服务器
第一步:准备环境
- 配置ip及yum环境
- 安装容器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镜像
# 导入镜像。
# 一个镜像可以创建很多容器。
# 镜像是只读的,容器是可以改变的。
# 容器相当于是精简的虚拟机,可以像虚拟机一样,对外提供服务。
[root@gitlab ~]# podman load < gitlab_zh.tar
- 容器如果出现故障,首先的排错方法是重启它;如果无效,删掉重建。
- 为了删容器,不丢失数据,需要把容器需要的数据保存在宿主机上。
# 在哪台主机上启动容器,哪台主机就是宿主机。
# 在gitlab服务器上创建用于保存容器数据的目录
[root@gitlab ~]# mkdir -p /srv/gitlab/{config,logs,data}
[root@gitlab ~]# ls /srv/gitlab/
config data logs
# gitlab容器需要/etc/resolv.conf文件。不存在则创建它
[root@gitlab ~]# touch /etc/resolv.conf
第三步:创建容器
- podman run创建容器
# -d后台运行。
# -h gitlab设置容器的主机名。
# --name gitlab是podman ps查看到的容器名;
# -p指定发布的端口号,当访问宿主机443/80/22端口时,这样的请求就发给容器的相关端口;
# --restart always是开机自启;
# -v是映射路径,将容器中指定的路径,映射到宿主机,以便保存容器产生的数据;
# 最后的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
# 设置gitlab容器开机自启
# --restart always在podman中可能无效
[root@gitlab ~]# vim /etc/rc.d/rc.local
... ...
# 在文件尾部追加一行内容如下:
podman start gitlab
# 给到文件执行权限
[root@gitlab ~]# chmod +x /etc/rc.d/rc.local
- 查看容器
[root@gitlab ~]# podman ps
# 如果一切正常,几分钟后,可以访问http://192.168.88.20/
# 以自己gitlab服务器的ip为准
- 附:如果容启动失败,再次创建有以下错误:
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
- 则可以将容器进行删除,重新进行创建:
# 删除gitlab
[root@gitlab ~]# podman rm gitlab
# 重新创建容器
[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
创建用户
- 用户:为使用gitlab的用户创建的账号。
- 创建用户1.png
- 填写截图上的几项后,其他使用默认配置,点保存。
-
创建好用户后,点击编辑,可以为他/她设置密码:
创建用户2.png - 保存修改后,退出当前账号,使用新账号登陆测试。第一次登陆时,也是要求修改密码,新密码可以设置与旧密码一样。新建的jerry用户因为权限较小,所以看到的界面,没有root的功能多。
创建组
-
注意,创建组需要使用root账号
创建组1.png -
将jerry加到develop2组中,角色是“主程序员”
创建组2.png -
设置可见等级:公开
创建组3.png
创建项目
创建项目1.png-
设置可见等级:公开
创建项目2.png