【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 -p 1000:80 -p 443: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

external_url "https://4y204e4227.zicp.fun"

重新运行配置:gitlab-ctl reconfigure

配置邮箱

在配置目录下找到 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'] = "xxxxx@xxx.com"
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

重新运行配置:gitlab-ctl reconfigure
在这里插入图片描述
上面图片犯了一个错误,那就是同时设置了 smtp_tlssmtp_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('youremail@email.com', 'Hello World', 'This is a test message').deliver_now
在这里插入图片描述

参考文献

  1. SMTP settings | GitLab:https://docs.gitlab.com/omnibus/settings/smtp.html
Docker可以用来轻松地在容器中运行GitLab CE(Community Edition),这是一个开源的Git服务,提供了代码托管、持续集成/持续部署等功能。下面是使用Docker安装GitLab CE的基本步骤: 1. **安装Docker**: 首先确保你的系统上已经安装Docker。如果你的系统是Linux,可以使用包管理器如apt或yum;如果是Windows或Mac,可以从Docker官网下载并安装。 2. **获取GitLab CE镜像**: 使用Docker Hub上的官方镜像,你可以运行`docker pull gitlab/gitlab-ce`来下载最新的GitLab CE镜像。 3. **运行GitLab容器**: 创建一个Docker运行命令,指定所需的端口映射和数据卷,以保存配置和数据。例如: ``` docker run -d \ --name gitlab \ -p 80:80 -p 443:443 -p 2222:22 \ --restart always \ -v /path/to/data:/var/opt/gitlab \ -v /path/to/config:/etc/gitlab \ gitlab/gitlab-ce ``` 这里 `-d` 表示后台运行,`-p` 映射端口,`--restart always` 确保容器重启时继续运行,`-v` 挂载主机目录到容器中的路径。 4. **设置环境**: 容器启动后,可能需要访问GitLab Web界面进行初始化设置,包括数据库连接信息、邮件服务器配置等。首次启动时,可能还需要完成一些基础的配置步骤。 5. **安全和认证**: 为了保护GitLab,确保配置了适当的安全措施,包括HTTPS(通常映射的443端口)和密码策略。 6. **监控和日志**: 为持久监控和问题排查,你可能需要查看Docker容器的日志和使用第三方工具对GitLab进行性能监控。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hjhcos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值