Windows上使用docker部署gitlab服务器实现局域网内代码版本管理

代码的版本管理是开发工作中极其重要的,重要性甚至堪比写代码本身,好的版本管理方式可以实现项目代码的记录、回溯以及协调开发。很多开发者还是一次修改打一个压缩包的方式,这种低效的版本管理,在代码量达到一定程度后,极其低效与不安全,特别是针对安全性要求极其高的代码时,例如飞控代码,如果是因为没有合适的版本管理导致摔机,那是多么可惜的事。

原来使用的gitlab服务器是公司专门的人搭建好的,只需要熟悉git相关的操作即可完成代码管理,省去了搭建服务器的过程,后面在工作中遇到需要自己搭建的情况,今天特地将搭建教程写下来,自己可以温故而知新,也供各位开发者参考。

gitlab搭建的环境相对复杂,网上可以查阅资料在Windows上部署gitlab的几种方式,大多比较复杂,而且有的步骤并没有讲得很明白,作为最初级的方式,即使用docker容器部署的方式,docker容器相当于替代了虚拟机+Linux系统的功能。

软件准备

  1. 系统为Windows10专业版
  2. Docker Desktop软件:Docker Desktop Installer.exe
  3. Docker Desktop软件的升级包:wsl_update_x64.msi
  4. git工具,可以随意安装最新的版本
  5. TortoiseGit工具,弥补git命令行操作的短板
  6. 以上使用的软件百度网盘链接,提取码为tei6https://pan.baidu.com/s/10JCGEULLXm5gnNEE4oq61w

软件安装

第一步:双击Docker Desktop Installer.exe开始安装

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第1张图片

第二步:默认勾选

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第2张图片

第三步:安装结束,点击close 

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第3张图片

第四步:桌面双击快捷方式启动软件

 第五步:必须勾选同意

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第4张图片

 第六步:在第五步的基础上,稍等片刻之后如图,点击start

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第5张图片

第七步:一直点next直到done出现,点击done

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第6张图片

第八步:点击done后如图:

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第7张图片

问题1:安装docker升级包

正常情况下安装完成后,启动docker desktop,会让安装一个升级包,如果是联网安装则直接按照指示安装;如果离线安装,则直接使用网盘中的升级文件即可。该重启就得重启

 第九步:验证docker安装成功否

管理员身份打开cmd界面,输入下面的命令:

docker version

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第8张图片

第十步:安装gitlab:

类似于Linux系统中,通过命令去拉取gitlab镜像,输入以下命令:

  • 开源中文版gitlab镜像(twang2218/gitlab-ce-zh为某大佬做的开源镜像
docker pull twang2218/gitlab-ce-zh

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第9张图片

  • 官方gitlab镜像(gitlab/gitlab-ce
    docker pull gitlab/gitlab-ce

    Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第10张图片

 注:

  • 下载时间相对比较久
  • ce表示社区版
  • zh表示中文版
  • 拉取gitlab镜像要联网
  • 社区版不能直接拉取中文版

 第十一步:编写服务器部署文件

  • 找一个存放gitlab软件版本相关内容的盘符

  • 在盘符中新建一个文件夹docker(这一步可不用)
  • 新建文件:docker-compose.yml,内容如下所示
version: '3' # 版本号
services: # 开启服务
  gitlab: # 服务名称
    image: 'twang2218/gitlab-ce-zh:latest' # 使用镜像
    restart: always
    hostname: 'GitLab' # 主机名称(自定义)
    environment: # 环境配置
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.1.112:8080' #本机IP,内网以太网IPV4地址
        gitlab_rails['gitlab_ssh_host'] = 'http://192.168.1.112:8080'
        gitlab_rails['gitlab_shell_ssh_port'] = 1022
        unicorn['port'] = 8888
        nginx['listen_port'] = 1080
    ports: # 端口映射,格式为“本机IP:Docker镜像内部IP”
      - '1080:1080'    #http
      - '1043:1443'    #https
      - '1022:22'      #ssh
    volumes: # 挂载卷
      # 前面是Windows的地址所以斜杠向右;后面是Linux的地址所以向左
      - F:\docker\gitlab\config:/etc/gitlab
      - F:\docker\gitlab\data:/var/opt/gitlab
      - F:\docker\gitlab\logs:/var/log/gitlab

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第11张图片

第十二步:执行docker-compose.yml文件完成服务器部署

进入文件所在的盘,执行 docker-compose up -d    命令

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第12张图片

第十三步:在docker desktop中containers查看服务器状态,虽然现实在running中,但是需要等待一段时间才能在网页访问服务器

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第13张图片

 第十四步:打开浏览器,输入:192.168.1.112:1080进入页面

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第14张图片

问题2:遇到这种页面不要慌,等等再刷新

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第15张图片

第十五步:修改root用户密码,使用root账户登陆

root用户为默认用户,root的默认密码在Windows下很难找到,可以通过命令行的方式修改,也可以通过第一次进入的网页页面修改(密码最少8个字符)。

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第16张图片

登陆成功以后:

 Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第17张图片

第十六步:新建用户,创建项目

一般不在root用户下进行操作,退出root用户,在登录界面选择注册用户 

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第18张图片Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第19张图片

 普通用户登陆后的界面:

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第20张图片

第十七步:新建项目

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第21张图片

创建完成之后的页面:

Windows上使用docker部署gitlab服务器实现局域网内代码版本管理_第22张图片

 第十八步:安装git,生成SSH密钥,添加ssh密钥到用户,即可通过Git进行拉取、推送操作。

 注:

  • 使用官方镜像只需要略微修改文件即可(即镜像那一行):
version: '3' # 版本号
services: # 开启服务
  gitlab: # 服务名称
    image: 'gitlab/gitlab-ce:latest' # 使用镜像
    restart: always
    hostname: 'GitLab' # 主机名称(自定义)
    environment: # 环境配置
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.1.112:1080'
        gitlab_rails['gitlab_shell_ssh_port'] = 1022
        unicorn['port'] = 8888
        nginx['listen_port'] = 1080
    ports: # 端口映射,格式为“本机IP:Docker镜像内部IP”
      - '1080:1080'
      - '1043:1443'
      - '1022:22'
    volumes: # 挂载卷
      # 前面是Windows的地址所以斜杠向右;后面是Linux的地址所以向左
      - F:\docker\gitlab\config:/etc/gitlab
      - F:\docker\gitlab\data:/var/opt/gitlab
      - F:\docker\gitlab\logs:/var/log/gitlab
  • 文件名只能为:docker-compose.yml

最后,欢迎交流!

你可能感兴趣的:(实用技能,git,docker,服务器,c++,c语言)