使用podman容器配置gitlab

本文详细介绍了如何在Ubuntu系统上利用Podman部署GitLab和GitLab-Runner,包括下载镜像、配置GitLab、注册与运行Gitlab-Runner、安装相关软件以及进行测试。在配置过程中,提到了修改gitlab.rb文件以解决报错问题,设置时区,并启用GitLab的容器镜像库。同时,文章还展示了如何通过shell和docker方式注册gitlab-runner,以及如何进行CI/CD测试,包括Shell和Docker的自动化构建流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载gitlab以及gitlab-runner镜像

sudo podman pull docker.io/gitlab/gitlab-ee
sudo podman pull docker.io/gitlab/gitlab-runner

笔者下载的版本是gitlab-ee 14.5,gitlab-runner 14.5

二、运行容器与配置gitlab

1、运行gitlab容器

sudo podman run -dt \
  --h "192.168.1.8" \
  -p 443:443 -p 80:80 -p 22:22 -p 5050:5050 \
  --name gitlab \
  --restart always \
  -v /home/gitlab/etc:/etc/gitlab \
  -v /home/gitlab/logs:/var/log/gitlab \
  -v /home/gitlab/git-data:/var/opt/gitlab/git-data \
  -v /home/gitlab/backups:/var/opt/gitlab/backups \
  -v /home/gitlab/opt:/var/opt/gitlab \
  docker.io/gitlab/gitlab-ee
  • -d:后台运行
  • -t:分配伪终端
  • -h:指定主机名
  • -p:映射主机与容器端口,冒号前面为主机端口,后面为容器端口
  • –name:指定名字
  • -v:映射主机与容器的目录,冒号前面为主机目录,后面为容器目录
    这里映射了gitlab的配置、日志、以及数据。要求在映射时主机存在相应的目录。

2、修改配置

笔者不作任何配置修改的情况下,运行gitlab会一直报错:

caller=cluster.go:154 component=cluster err="couldn't deduce an advertise address: no private IP found, explicit advertise addr not provided"

caller=main.go:241 msg="unable to initialize gossip mesh" err="create memberlist: Failed to get final advertise address: No private IP address found, and explicit IP not provided"

使用如下命令进入容器Bash:

sudo podman exec -it gitlab bash

然后修改/etc/gitlab/gitlab.rb文件(如果在创建容器时有将配置文件所在目录映射到主机,则可以直接在主机修改),添加如下配置:

alertmanager['flags'] = {
   
  'cluster.advertise-address' => "0.0.0.0:9093"
}

即可解决不断报错的问题。

添加如下配置,设置时区为上海时区

gitlab_rails['time_zone'] = 'Asia/Shanghai'

如果想开启Gitlab自带的容器镜像库,添加如下配置:

registry_external_url 'https://localhost:5050'
gitlab_rails['registry_enabled'] = true
registry_nginx['ssl_certificate_key'] = "/var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key"
registry_nginx['ssl_certificate'] = "/var/opt/gitlab/registry/gitlab-registry.crt"

需要注意的是证书及密钥的存储位置(笔者下载的Gitlab容器启用容器镜像库后,默认就是上面的位置),如果上面的目录中没有相应的文件,则需要修改为相应的位置

每次修改了gitlab.rb文件后,都需要在主机使用如下命令让配置生效:

sudo podman exec -it gitlab gitlab-ctl reconfigure

3、登录gitlab

在配置好gitlab并运行后,就可以使用root账号进行登录了,root账号的密码在:

/etc/gitlab/initial_root_password

文件中。
注意:此文件将在第一次运行reconfigure后24小时删除,所以安装好后,需要尽快登录gitlab并设置密码。

三、运行与注册gitlab-runner

1、运行gitlab-runner

sudo podman run -dt --name gitlab-runner --restart always -v /home/gitlab-runner:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock docker.io/gitlab/gitlab-runner

在这里插入图片描述

由于gitlab-runner默认使用的用户为gitlab-runner,如上图所示,而/home/gitlab-runner默认是root用户才有相应的权限,为了顺利执行,笔者建议使用root用户执行,这样就不用手动修改/home/gitlab-runner的权限:

sudo podman run -dt --name gitlab-runner --restart always -v /home/gitlab-runner:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock docker.io/gitlab/gitlab-runner run --working-directory=/home/gitlab-runner

注意:为了让gitlab-runner能够使用docker命令,在创建容器时必须将/var/run/docker.sock映射到容器,否则会执行失败。

2、进入容器Bash

使用下面的命令进入容器bash:

sudo podman exec -it gitlab-runner bash

3、注册gitlab-runner

a、注册shell

root@7350bbb38bc1:/# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=84 revision=f0a95a76 version=14.5.0
Running in system-mode.                            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值