当前位置:   article > 正文

部署轻量级Gitea替代GitLab进行版本控制(一)_gitlab和gitea安全性对比

gitlab和gitea安全性对比

Gitea 是一款使用 Golang 编写的可自运营的代码管理工具

Gitea Official Website

gitea: Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。

在这个领域,名气最响的应该是 Gitlab

但实际使用中Gitlab也有点问题,首先就是资源占用。Gitlab 是使用 ruby 编写的,好几年之前刚出来的时候,一台1G内存的虚拟主机连安装运行都做不到,着实震惊。

时至今日都已经发展到了以docker镜 像分发,gitlab 仍旧会有体积和运行时资源占用的问题。另一点就是功能,对于一般标准团队来说,gitlab的功能太过于丰富,这是往好的地方说,往坏的地方说就是它包含了太多不需要的东西,而这些东西还占用磁盘和运行时资源。

同时 Gitlab 的许可证政策对新的用户也不是非常友好,主要在于与其他平台的同步上面。

例如有一个下面的场景:你将代码提交到自己的服务器上后,如果希望能够自动同步到其他的平台上,比如 GitHub 或者从其他平台上镜像回来,Gitlab 的社区版本是做不到的。
 

Gitea 和 Gogs 的关系
Gitea 其实是 Gogs 的一个分支。

这 2 个都有国人的参与,只是 Gogs 可能开发理念和 Gitea 有所不同,感觉社区上面的参与度不高。

同时 Gogs 更新速度较慢,因此可能选择 Gitea 会多一些。

使用golang研发的软件分发都很容易,体积小,安装使用简单,运行时占用资源少。

且gitea的功能很完备。

我们也选择使用了 Gitea 。

vim docker-compose.yml
  1. version: "3"
  2. networks:
  3. gitea:
  4. external: false
  5. services:
  6. server:
  7. image: gitea/gitea:1.21.1
  8. container_name: gitea
  9. environment:
  10. - USER_UID=1000
  11. - USER_GID=1000
  12. - GITEA__database__DB_TYPE=mysql
  13. - GITEA__database__HOST=db:3306
  14. - GITEA__database__NAME=gitea
  15. - GITEA__database__USER=gitea
  16. - GITEA__database__PASSWD=gitea
  17. restart: always
  18. networks:
  19. - gitea
  20. volumes:
  21. - ./gitea:/data
  22. - /etc/timezone:/etc/timezone:ro
  23. - /etc/localtime:/etc/localtime:ro
  24. ports:
  25. - "3000:3000"
  26. - "222:22"
  27. depends_on:
  28. - db
  29. db:
  30. image: mysql:8
  31. restart: always
  32. environment:
  33. - MYSQL_ROOT_PASSWORD=gitea
  34. - MYSQL_USER=gitea
  35. - MYSQL_PASSWORD=gitea
  36. - MYSQL_DATABASE=gitea
  37. networks:
  38. - gitea
  39. volumes:
  40. - ./mysql:/var/lib/mysql

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号