Boot+Cloud项目学习:macrozheng.com
最近在访问Gitlab官网(gitlab.com)的时候发现,对于中国区用户,会跳转到一个提示页面,推荐用户去使用极狐提供的Gitlab服务。
很明显Gitlab想要中国区用户迁移到极狐提供的Gitlab上去,如果你不想迁移,有什么好的开源替代品呢?
今天给大家分享一款好用的开源替代品Gogs,对比Gitlab它非常轻量级,启动速度快、占用内存低,今天我们就来聊聊它的使用。
Gogs简介
Gogs是一款极易搭建的自助Git服务,目前在Github上已有40k+Star
,它使用Go语言开发,只要Go语言支持的平台它都支持,包括Linux、Mac OS X、Windows以及ARM平台。Gogs对系统硬件要求极低,你甚至可以在树莓派上运行它。
下面是Gogs中管理代码仓库的效果图,确实清新优雅!
安装
Gogs在Docker环境下的安装非常简单,只需要两个命令即可,推荐使用该方式来进行安装。
docker pull gogs/gogs:latest
- 下载完成后使用
docker run
命令即可运行服务;
docker run -p 10022:22 -p 3000:3000 --name=gogs \
-v /mydata/gogs:/data \
-d gogs/gogs:latest
- 这里我们说下命令中值得注意的地方,
10022
对应的是Gogs的SSH服务端口,3000
对应的使用Gogs的HTTP服务端口,我们还将容器的数据目录挂载到了宿主机的/mydata/gogs
目录下,这样就算我们重新创建容器数据也不会丢失。
配置
安装完成后,我们第一次访问Gogs服务会显示一个设置页面,访问地址:http://192.168.3.101:3000
数据库设置,这里我们直接使用内置的SQLite3
数据库即可,使用其他的需要自行搭建数据库;
- 应用基本设置,主要修改域名、SSH端口号和应用URL即可。
使用
这里以我的mall电商实战项目为例,来讲解下Gogs的使用。
mall项目
这里简单介绍下mall项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
- Boot项目:https://github.com/macrozheng/mall
- Cloud项目:https://github.com/macrozheng/mall-swarm
- 视频教程:https://www.macrozheng.com/video/
项目演示:
注册
- 配置好以后会直接跳转到登录界面,首先注册一个帐户;
创建仓库
- 直接使用我的仓库右侧的加号即可创建仓库,这里我们选择
迁移外部仓库
来创建仓库,迁移的mall项目地址为:https://gitee.com/macrozheng/mall
- 如果你想把仓库代码克隆到本地的话,点击右上角的复制链接按钮;
然后通过IDEA的Git代码检出功能即可克隆到本地了。
工单管理
- 这里的工单管理,有点类似Github上面的Issue的功能,我们可以通过
创建工单
按钮来创建;
添加用户
- 有时候管理员需要新建一些帐户来协作开发,此时我们只要点击
头像->管理面板->用户管理
即可打开用户管理界面;
管理协作者
- 创建完成后,我们可以在仓库页面的
仓库设置
中打开管理协作者
功能;
- 之后通过输入协作者账户,点击
增加新的协作者
并设置好权限即可,这样协作者就可以访问并向该仓库提交代码了。
Gogs VS Gitlab
之前也使用过Gitlab,这里对比下Gogs和Gitlab在安装使用过程中的优缺点,仅代表个人观点。
比较方面 | Gogs | Gitlab |
---|
Docker镜像大小 | 100MB左右 | 1500MB左右 |
启动速度 | 很快,几秒 | 很慢,机器配置不好要10分钟 |
配置要求 | 很低,树莓派都可以 | 很高,吃内存,吃CPU |
访问速度 | 够快 | 机器配置好也还可以 |
功能 | 功能较少 | 功能很丰富 |
总结
Gogs确实是一款非常不错的自助Git服务,作为代码仓库它的功能基本够用了,如果有CI/CD功能的话就更好了。不过我们搭配Drone或Jenkins使用可以解决这个问题,毕竟一款产品要保持轻量级,还是专注于核心功能比较好!
项目地址
https://github.com/gogs/gogs
Github上标星11K
的微服务实战项目mall-swarm,全套 视频教程(2024最新版) 来了!全套教程约26小时,共59期
,如果你想学习目前最新的微服务技术栈
,同时提高自己微服务项目的开发能力
的话,不妨了解下,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall-swarm视频教程 加入学习。
整套 视频教程 的内容还是非常完善的,涵盖Spring Cloud核心组件、微服务项目实战、Kubernetes容器化部署等内容,你也可以点击链接 mall-swarm视频教程 了解更多内容。
推荐阅读