Windows上使用docker部署gitlab服务器实现局域网内代码版本管理
代码的版本管理是开发工作中极其重要的,重要性甚至堪比写代码本身,好的版本管理方式可以实现项目代码的记录、回溯以及协调开发。很多开发者还是一次修改打一个压缩包的方式,这种低效的版本管理,在代码量达到一定程度后,极其低效与不安全,特别是针对安全性要求极其高的代码时,例如飞控代码,如果是因为没有合适的版本管理导致摔机,那是多么可惜的事。原来使用的gitlab服务器是公司专门的人搭建好的,只需要熟悉git
代码的版本管理是开发工作中极其重要的,重要性甚至堪比写代码本身,好的版本管理方式可以实现项目代码的记录、回溯以及协调开发。很多开发者还是一次修改打一个压缩包的方式,这种低效的版本管理,在代码量达到一定程度后,极其低效与不安全,特别是针对安全性要求极其高的代码时,例如飞控代码,如果是因为没有合适的版本管理导致摔机,那是多么可惜的事。
原来使用的gitlab服务器是公司专门的人搭建好的,只需要熟悉git相关的操作即可完成代码管理,省去了搭建服务器的过程,后面在工作中遇到需要自己搭建的情况,今天特地将搭建教程写下来,自己可以温故而知新,也供各位开发者参考。
gitlab搭建的环境相对复杂,网上可以查阅资料在Windows上部署gitlab的几种方式,大多比较复杂,而且有的步骤并没有讲得很明白,作为最初级的方式,即使用docker容器部署的方式,docker容器相当于替代了虚拟机+Linux系统的功能。
软件准备
- 系统为Windows10专业版
- Docker Desktop软件:Docker Desktop Installer.exe
- Docker Desktop软件的升级包:wsl_update_x64.msi
- git工具,可以随意安装最新的版本
- TortoiseGit工具,弥补git命令行操作的短板
- 以上使用的软件百度网盘链接,提取码为tei6https://pan.baidu.com/s/10JCGEULLXm5gnNEE4oq61w
软件安装
第一步:双击Docker Desktop Installer.exe开始安装
第二步:默认勾选
第三步:安装结束,点击close
第四步:桌面双击快捷方式启动软件
第五步:必须勾选同意
第六步:在第五步的基础上,稍等片刻之后如图,点击start
第七步:一直点next直到done出现,点击done
第八步:点击done后如图:
问题1:安装docker升级包
正常情况下安装完成后,启动docker desktop,会让安装一个升级包,如果是联网安装则直接按照指示安装;如果离线安装,则直接使用网盘中的升级文件即可。该重启就得重启。
第九步:验证docker安装成功否
以管理员身份打开cmd界面,输入下面的命令:
docker version
第十步:安装gitlab:
类似于Linux系统中,通过命令去拉取gitlab镜像,输入以下命令:
- 开源中文版gitlab镜像(twang2218/gitlab-ce-zh为某大佬做的开源镜像)
docker pull twang2218/gitlab-ce-zh
- 官方gitlab镜像(gitlab/gitlab-ce)
docker pull gitlab/gitlab-ce
注:
- 下载时间相对比较久
- 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
第十二步:执行docker-compose.yml文件完成服务器部署
进入文件所在的盘,执行 docker-compose up -d 命令
第十三步:在docker desktop中containers查看服务器状态,虽然现实在running中,但是需要等待一段时间才能在网页访问服务器
第十四步:打开浏览器,输入:192.168.1.112:1080进入页面
问题2:遇到这种页面不要慌,等等再刷新
第十五步:修改root用户密码,使用root账户登陆
root用户为默认用户,root的默认密码在Windows下很难找到,可以通过命令行的方式修改,也可以通过第一次进入的网页页面修改(密码最少8个字符)。
登陆成功以后:
第十六步:新建用户,创建项目
一般不在root用户下进行操作,退出root用户,在登录界面选择注册用户
普通用户登陆后的界面:
第十七步:新建项目
创建完成之后的页面:
第十八步:安装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
最后,欢迎交流!
更多推荐
所有评论(0)