请各位推荐 Linux 下的 git 服务器软件,目前没有 CI 类需求,但是希望升级别折腾,稳定点

2023-09-22 09:21:15 +08:00
 gdb

之前( 5 年前),用的是 gitlab ,虽然这个软件工作很稳定,但是感觉升级太麻烦了,我之前发了个帖子(请问如何搬运并升级普通台式机里面的 GitLab CE 9.2.6 到一台新的 Dell 刀片服务器 - V2EX),感觉升级无望了,这次要重装个 git 系统,打算重新选一个 git 的服务器软件。

基本需求是大概一个 20-30 个人的软件团队,然后代码仓库大概几十个吧。 平时主要就是最基本的 git 的 push 等操作,其实 issue 之类的也很少用,CI 更是没用。使用过程中,一些不太懂 git 的人甚至都是直接在 WEB 界面上面直接 upload 文件到 git 代码仓库(不是很专业的用法)。

希望找一个维护方便一点的 git 服务器软件,目前看起来也就 gitlab 和 gitea 可能能考虑,不知道大侠们有没有什么推荐的,谢谢!

PS:五年前装 gitlab 的时候,是用的传统的安装方法,我想会不会这次使用 docker 的方式会更方便一点,同时升级维护也方便点?

PS2:发现之前 2019 年的一个讨论,Git 服务有哪几家好选的 - V2EX, 感觉也没有几个可以候选的。

2187 次点击
所在节点    服务器
22 条回复
huyujievip
2023-09-22 09:29:28 +08:00
gitea ,自己服务器上跑了两年了
lingeo
2023-09-22 09:32:26 +08:00
gitea +1
caryqy
2023-09-22 09:33:55 +08:00
gogs
jifengg
2023-09-22 09:50:43 +08:00
公司和自用都用 gogs 的
gdb
2023-09-22 09:59:35 +08:00
@huyujievip @lingeo @caryqy @jifengg

谢谢你们的推荐,现在的问题是,请问这个 gitee 和 gogs 的差异是啥。我看了点资料,似乎 gitea 是从 gogs fork 出来的,不知道后续发展哪个更好点?
anytk
2023-09-22 10:10:17 +08:00
推荐 GitBucket https://github.com/gitbucket/gitbucket
有 JRE 环境就可以跑了,备份只需要拷贝文件夹就行了,相对 gitlab 来说轻量太多了。
gdb
2023-09-22 10:18:01 +08:00
我对比了一下 github 上面的两个代码仓库的更新情况:

[Commits · gogs/gogs]( https://github.com/gogs/gogs/commits/main)

这个代码仓库,感觉怎么只有一个叫做 unknown 的人在维护,而且 commit 的频次也不是那么多。

[Commits · go-gitea/gitea]( https://github.com/go-gitea/gitea/commits/main)
这个 gitea 的代码仓库,更新的人有很多个,而且更新非常频繁,看起来开发更加活跃。

从这角度来说,感觉 gitea 更好点?!?

@anytk 谢谢,JRE 倒是没有问题,就是看了这个 github 的主页,感觉网页界面的那个截屏,看起来有点”简谱“。。。。。。
HAWCat
2023-09-22 10:22:55 +08:00
gitea 更简单,更轻松
还有个新的选择:onedev 之前在 v2 里面还有宣传
flamiNNgo
2023-09-22 10:24:09 +08:00
选项就这么多 gogs gitea gitlab
我升级就是再 push 到新系统的新库
gitea 和 gogs 都用过一段时间,gitea 挺好
lilei2023
2023-09-22 10:26:18 +08:00
如果只是 push pull ,gogs 就足够了,升级也简单
Stevenv
2023-09-22 10:43:41 +08:00
不如直接用云服务商的。。比如阿里的 codeup
gdb
2023-09-22 10:48:30 +08:00
@Stevenv 谢谢,没法用外部网络的服务商,基于安全考虑,现在 git 服务器还是建在局域网内部。


@HAWCat 谢谢,看了一下,onedev 是 java 开发的,不过看 github 主页有点不太看得懂。

@flamiNNgo 谢谢! gitea 正是我目前正在考虑的。

1 ,关于数据库的选择,大家有什么建议?用 MySQL ?还是用 SQLite ?

2 , 我看了一下 gitea 的安装文档,各种安装方式都支持,现在还不太清楚这种 docker 的安装方式有啥区别,一种叫做 rootless ,一种就是常规的 docker 。

具体见:[Installation with Docker (rootless) | Gitea Documentation]( https://docs.gitea.com/installation/install-with-docker-rootless)
anytk
2023-09-22 10:53:54 +08:00
@gdb 其实够用就行,邮箱通知可以配,而且备份数据简单,就一个文件夹。
newaccount
2023-09-22 10:58:37 +08:00
gitlab docker 运行,每晚 cron 自动升级,跑了六年多没出过任何问题,中间还换服务器,旧机器备份之后新机直接还原,用的人都不知道服务器换过了

用户 30 ,项目 90 ,“服务器” i5 11500 ,16 G 内存,中间另一台嫌数据库跑的慢换了个固态还顺便这个的硬盘一起换了

当然,runner 没敢在 gitlab 机器上跑,也就没人用的时候跑跑数据备份
weiweiwitch
2023-09-22 11:00:24 +08:00
其实 gitlab 的 docker 部署方式,升级起来非常的省心!

我们公司和我自己的 2 台 gitlab 服务器。都是 docker 方式部署的,也是 N 年前的个位数版本开始用。到现在版本 16 了。基本都是无折腾升级。

升级的时候,就只要 stop 和 rm 掉原来的容器。然后改下 docker run 的版本号为新的版本。直接 run 就完成升级了。

只是每次升级要记得按照 https://docs.gitlab.com/ee/update/index.html#upgrade-paths 这个里面描述的版本号依次升级,不可以跨度太大。
zzzsy
2023-09-22 11:10:15 +08:00
gdb
2023-09-22 11:27:48 +08:00
@zzzsy 谢谢,我看了一下这个项目:

[Forgejo FAQ | Forgejo – Beyond coding. We forge.]( https://forgejo.org/faq/)

里面有个说明:

Why was Forgejo created?

In October 2022 the domains and trademark of Gitea were transferred to a for-profit company without knowledge or approval of the community. Despite writing an open letter, the takeover was later confirmed. Forgejo was created as an alternative providing a software forge whose governance further the interest of the general public.

Forgejo was initially presented as a “soft-fork” of Gitea, similar to LineageOS, a community led distribution based on Android from Google. It is however better described as a product built on top of Gitea, Git and hundreds of other Free Software projects. Forgejo also has its own documentation, infrastructure, release pipeline, CI infrastructure, distribution channels etc.

看起来是看不惯 Gitea 的某些行为才导致又派生出来一个 git 的管理软件。

从这里: [Gitea - Wikipedia]( https://en.wikipedia.org/wiki/Gitea)

可以看到怎么 Gitea 和 gogs 都是由一个叫做 Lunny Xiao 的人在管理,我都没看明白这个 wiki 的意思。。。


@weiweiwitch 多谢,你这个方法我也打算去试试,毕竟一台刀片服务器,可以去折腾一下,在 vmware 的 EXSI 下面,随便折腾问题都不大。
ExplodingFKL
2023-09-22 12:06:11 +08:00
@gdb #17 直接用 Gitea 即可,Fork Forgejo 的主要原因是 gitea 转商业化运营了,但 Gitea 本身还是 MIT 开源的 ,GOGS 就算了,个人维护的项目,更新速度/错误修复速度太慢

或者你可以使用 cgit : https://git.zx2c4.com/cgit/

具体查看 上海吉谛科技有限公司 : https://aiqicha.baidu.com/company_detail_89460963670963
crysislinux
2023-09-22 12:09:54 +08:00
gitea 功能很丰富。我之前看它还实现了类似 github actions 的东西。如果常用 github 的会比较爽。
lng2020
2023-10-06 04:10:00 +08:00
@gdb
1. 最近几天默认的数据库改成 MySQL 了,建议 MySQL
2. 我其实推荐 build from source code 。gitea 编译非常简单,直接 clone+make build ,几分钟就搞定了。这样权限、网络问题啥的排查起来方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/976051

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX