0


【Git】Windows下通过Docker安装GitLab

私有仓库

前言

由于某云存在人数限制,这个其实很好理解,毕竟使用的是云服务器,人家也是要交钱的。把代码完全放在别人的服务器上面,也怕数据泄漏之类的,因此为了解决这些问题故而选择使用GitLab来搭建私服仓库。

基本思路

在 Windows 上面使用 Docker 安装 GitLab 仓库,然后将仓库的数据挂载到本地。

拉取镜像

docker search gitlab/gitlab-ce
docker pull gitlab/gitlab-ce

创建挂载目录

D:\docker\gitlab\config
D:\docker\gitlab\log
D:\docker\gitlab\data

创建容器

docker run -d--hostname localhost -p1000:80 -p443:443 --name gitlab --restart unless-stopped -v D:\docker\gitlab\config:/etc/gitlab -v D:\docker\gitlab\log:/var/log/gitlab -v D:\docker\gitlab\data:/var/data/gitlab gitlab/gitlab-ce:latest
-d

:后台运行容器。

--hostname localhost

:设置容器的主机名为 localhost。

-p 1000:80

:将宿主机的 1000 端口映射到容器的 80 端口。

-p 443:443

:将宿主机的 443 端口映射到容器的 443 端口。

--name gitlab

:给容器命名为 gitlab。

--restart unless-stopped

:容器在退出时除非明确停止,否则将自动重启。

-v D:\docker\gitlab\config:/etc/gitlab

:将宿主机的

D:\docker\gitlab\config

目录挂载到容器的

/etc/gitlab

目录,用于存储 GitLab 的配置文件。

-v D:\docker\gitlab\log:/var/log/gitlab

:将宿主机的

D:\docker\gitlab\log

目录挂载到容器的

/var/log/gitlab

目录,用于存储 GitLab 的日志文件。

-v D:\docker\gitlab\data:/var/data/gitlab

:将宿主机的

D:\docker\gitlab\data

目录挂载到容器的

/var/data/gitlab

目录,用于存储 GitLab 的数据文件。

gitlab/gitlab-ce:latest

:指定要运行的 Docker 镜像,即 GitLab 社区版的最新版本。

容器启动成功

在这里插入图片描述

登录仓库

查看挂载的配置目录下

initial_root_password

文件里面的初始密码,默认用户为

root


在这里插入图片描述
用记事本打开该文件,查看其密码:
在这里插入图片描述

设置中文

在这里插入图片描述

更改密码

在这里插入图片描述

人员审核

在这里插入图片描述

配置邮箱

在配置目录下找到

gitlab.rb

文件配置邮箱

D:\docker\gitlab\config\gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.ym.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "smtp.ym.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = true

重新运行配置:

sudo gitlab-ctl reconfigure


在这里插入图片描述
上面图片犯了一个错误,那就是同时设置了

smtp_tls

smtp_enable_starttls_auto

为 true,这样会导致容器重启会陷入死循环里面,一直重启一直报错的处境,解决这个方法就是只能开启其中一个,两者配置是分别用于不同的 SMTP 安全传输方式中,这里我们使用的是 SMTP 的纯 TLS 模式(也称为 SMTPS)连接到邮件服务器,其默认端口为 465,因此将

smtp_tls

开启即可正常运行。
在这里插入图片描述

报错截图
从截图里面,通过 gitlab_rails['smtp_tls'] and gitlab_rails['smtp_enable_starttls_auto'] are mutually exclusive. 也可以知道其之间存在冲突。

测试邮箱服务器是否配置成功,首先进入容器的控制台里面,执行

gitlab-rails console

,进入 rails 控制台,执行发送邮件的命令

Notify.test_email('[email protected]', 'Hello World', 'This is a test message').deliver_now


在这里插入图片描述

参考文献

  1. SMTP settings | GitLab:https://docs.gitlab.com/omnibus/settings/smtp.html
标签: git docker gitlab

本文转载自: https://blog.csdn.net/hjh_cos/article/details/136079359
版权归原作者 hjhcos 所有, 如有侵权,请联系我们删除。

“【Git】Windows下通过Docker安装GitLab”的评论:

还没有评论