侧边栏壁纸
  • 累计撰写 208 篇文章
  • 累计创建 16 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

使用docker部署gitlab

Wake
2023-03-06 / 0 评论 / 0 点赞 / 1,307 阅读 / 811 字

设置卷位置

在设置其他所有内容之前,请配置一个新的环境变量 $GITLAB_HOME,指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限。

对于 Linux 用户,将路径设置为 /srv/gitlab:

export GITLAB_HOME=/srv/gitlab

极狐GitLab 容器使用主机装载的卷来存储持久数据:
本地位置 容器位置 使用

$GITLAB_HOME/data	/var/opt/gitlab	用于存储应用程序数据。
$GITLAB_HOME/logs	/var/log/gitlab	用于存储日志。
$GITLAB_HOME/config	/etc/gitlab	用于存储极狐GitLab 配置文件。

使用 Docker Engine 安装极狐GitLab

您可以微调这些目录以满足您的要求。 一旦设置了 GITLAB_HOME 变量,您就可以运行镜像:

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 6443:443 --publish 8080:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  registry.gitlab.cn/omnibus/gitlab-jh:latest

注意:
如果要启用ssh的方式拉取git代码,则需要新增宿主机的ssh其他端口,然后把22端口提供给gitlab容器使用。
443端口如果只有一台机器的话需要更改其他端口,避免后期占用了nginx的443端口使用。
80端口因为let’s encrypt程序会占用80端口进行ssl 证书创建和后期证书的续期使用,所以容器向宿主机的80端口最好更改为其他端口。

启动容器后,就可以访问 gitlab.example.com了。

访问极狐GitLab URL,并使用用户名 root 和来自以下命令的密码登录:

sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

注意:
密码文件将在 24 小时后的第一次重新配置运行中自动删除。

创建数据库备份

如果遇到问题,需要数据库备份来回滚极狐GitLab 升级。

docker exec -t <container name> gitlab-backup create SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state

备份被写入 /var/opt/gitlab/backups,它应该在 Docker 挂载的卷上。

遇到的问题:

1.gitlab设置项目clone地址

因为一开始域名是注入到docker运行命令里面的,中途之前的域名因为突发的原因竟然过期无法续费了。在gitlab更换域名后发现clone地址竟然还是原来的域名无法更改,在这期间尝试在gitlab.rb的配置文件中增加新域名的url,在gitlab.yml配置文件中的host里面更换指定的新域名,然而无论是重启docker容器还是gitlab-ctl restart都发现无法生效。然后也试了销毁现有容器,以新的域名重新拉起容器,发现用户登录失败,原先的账号体系崩溃,就在抓耳挠腮的时候竟然发现在gitlab的管理员界面竟然可以直接更改clone的url地址。
直接在线修改地址:
image-1703074596985
点击保存,问题解决😂

0

评论区