赞
踩
Gitea 是一款使用 Golang 编写的可自运营的代码管理工具。
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
- version: "3"
-
- networks:
- gitea:
- external: false
-
- services:
- server:
- image: gitea/gitea:1.21.1
- container_name: gitea
- environment:
- - USER_UID=1000
- - USER_GID=1000
- - GITEA__database__DB_TYPE=mysql
- - GITEA__database__HOST=db:3306
- - GITEA__database__NAME=gitea
- - GITEA__database__USER=gitea
- - GITEA__database__PASSWD=gitea
- restart: always
- networks:
- - gitea
- volumes:
- - ./gitea:/data
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
- ports:
- - "3000:3000"
- - "222:22"
- depends_on:
- - db
-
- db:
- image: mysql:8
- restart: always
- environment:
- - MYSQL_ROOT_PASSWORD=gitea
- - MYSQL_USER=gitea
- - MYSQL_PASSWORD=gitea
- - MYSQL_DATABASE=gitea
- networks:
- - gitea
- volumes:
- - ./mysql:/var/lib/mysql
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。