代码的版本管理是开发工作中极其重要的,重要性甚至堪比写代码本身,好的版本管理方式可以实现项目代码的记录、回溯以及协调开发。很多开发者还是一次修改打一个压缩包的方式,这种低效的版本管理,在代码量达到一定程度后,极其低效与不安全,特别是针对安全性要求极其高的代码时,例如飞控代码,如果是因为没有合适的版本管理导致摔机,那是多么可惜的事。
原来使用的gitlab服务器是公司专门的人搭建好的,只需要熟悉git相关的操作即可完成代码管理,省去了搭建服务器的过程,后面在工作中遇到需要自己搭建的情况,今天特地将搭建教程写下来,自己可以温故而知新,也供各位开发者参考。
gitlab搭建的环境相对复杂,网上可以查阅资料在Windows上部署gitlab的几种方式,大多比较复杂,而且有的步骤并没有讲得很明白,作为最初级的方式,即使用docker容器部署的方式,docker容器相当于替代了虚拟机+Linux系统的功能。
第一步:双击Docker Desktop Installer.exe开始安装
第二步:默认勾选
第三步:安装结束,点击close
第四步:桌面双击快捷方式启动软件
第五步:必须勾选同意
第六步:在第五步的基础上,稍等片刻之后如图,点击start
第七步:一直点next直到done出现,点击done
第八步:点击done后如图:
问题1:安装docker升级包
正常情况下安装完成后,启动docker desktop,会让安装一个升级包,如果是联网安装则直接按照指示安装;如果离线安装,则直接使用网盘中的升级文件即可。该重启就得重启。
第九步:验证docker安装成功否
以管理员身份打开cmd界面,输入下面的命令:
docker version
第十步:安装gitlab:
类似于Linux系统中,通过命令去拉取gitlab镜像,输入以下命令:
docker pull twang2218/gitlab-ce-zh
注:
第十一步:编写服务器部署文件
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
最后,欢迎交流!