Py学习  »  Git

离谱!Gitlab将停止为中国区用户提供服务,还有哪些替代品可用?

macrozheng • 1 周前 • 40 次点击  

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环境下的安装非常简单,只需要两个命令即可,推荐使用该方式来进行安装。

  • 首先我们需要先下载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在安装使用过程中的优缺点,仅代表个人观点。

比较方面GogsGitlab
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视频教程 了解更多内容。

推荐阅读

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/177523
 
40 次点击