使用windows作为gitlab的服务器

需求概述

现在有一台windows10的机器,需要在这台机器上部署一个gitlab社区版,网络比较特殊,不能使用DHCP,使用自定义ip访问gitlab

方案分析

由于gitlab-ce不能部署在windows环境里,故使用linux环境(以下使用ubuntu)

对于ubuntu的环境,初步考虑可能的三种方案

  • 使用双系统,或重装ubuntu单系统
  • 使用windows的wsl子系统
  • 使用虚拟机

假设使用双系统,如果后续有其他业务需要使用windows作为生产环境,双系统就无法完成了;wsl子系统和虚拟机理论上都可以使用,但是博主认为wsl的稳定性可能不太好并且对wsl了解的还不够深入,只简单测试过运行docker容器,所以打算使用vmware的ubuntu虚拟机

接下来使用docker容器的方式部署gitlab,挂载好目录的话可以方便之后的可能的迁移和测试

那么问题来了,假设已经在机器的vmware中的ubuntu虚拟机部署好了gitlab,对于局域网下其他的机器该如何访问呢

如果图方便可以在vmware虚拟机中直接设置网络为桥接模式,虚拟机的ip直接映射到了机器上,但是我们这里需要自定义ip,就不能使用桥接模式DHCP生成的ip了(当然桥接模式的ip应该也可以自定义)。如果不使用桥接模式,而使用NAT模式,则只有本机器内访问虚拟机,其他机器是访问不到这台机器的虚拟机的

所以可以使用NAT模式+vmware的端口转发,这个情况下同一个局域网内的其他机器,通过访问机器上我们自定义的ip+端口,可以把该访问转发到机器内虚拟机ip的对应端口

当网络设置好了,22端口可能会出问题,因为虚拟机的ssh服务默认占用了22端口,而git提交和其他操作也需要使用22端口,所以在docker容器启动时我们映射的端口就不能为22,此时我们需要修改gitlab的git操作的端口,比如为2222(容器内仍为22),我们在端口转发时转发到虚拟机的2222端口即可(可参考下图)

部署步骤

配置环境

在windows10上下载好vmware和ubuntu的镜像,启动ubuntu,之后的操作为了方便都会在终端工具比如xshell或者mobaxterm上操作,故ubuntu虚拟机要配置好ssh连接,此外还需要配置好docker环境,这里不再赘述

配置gitlab(1)

配置好docker后,我们拉取gitlab-ce的最新或你想要的版本的镜像,接下来使用docker-compose的方式启动,需要注意:

  • 挂载好日志,文件和配置目录
  • 指定好主机的自定义ip
  • 容器内22端口不能映射到宿主机的22端口,使用2222(或者你自定义的)

docker-compose.yml文件如下:

version: '3.6'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: 主机的自定义ip
    ports:
      - '80:80'
      - '2222:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

docker-compose up -d之后,等待几分钟,gitlab即启动成功。

如果不使用ssh的方式来进行git仓库操作而只使用https,那么可以到此为止了。

如果要使用ssh,继续配置vmware和主机的端口映射

配置端口映射

具体步骤可参考VMware做NAT端口转发(全网最详细步骤)_vmware端口转发-CSDN博客

我们现在这个情况在最后的NAT设置中要这样配置:

 

其中80端口是可以正常映射的,但是git的ssh端口要配置成2222,如果不能理解请再理解一下上面方案分析的图

配置gitlab(2)

gitlab我们只差一个没有设置,就是ssh的端口,如果不配置的话,使用ssh来和仓库进行交互时默认还是使用的22,所以需要修改为2222。具体步骤可参考:gitlab修改ssh端口-CSDN博客
此时你的ssh的克隆地址会从 "git@自定义ip:用户名/仓库名称.git" 变为 "ssh://git@自定义ip:2222/用户名/仓库名称.git"

配置好后,要访问gitlab的web页面,直接访问你自定义的ip即可,要使用ssh进行git操作,可以直接在仓库的web页面下复制ssh的地址

注意事项

其他可能需要的配置

可能遇到的问题

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

KyLenMou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值