V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gdb
V2EX  ›  服务器

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

  •  
  •   gdb · 296 天前 · 1895 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前( 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, 感觉也没有几个可以候选的。

    22 条回复    2023-10-07 09:07:02 +08:00
    huyujievip
        1
    huyujievip  
       296 天前
    gitea ,自己服务器上跑了两年了
    lingeo
        2
    lingeo  
       296 天前
    gitea +1
    caryqy
        3
    caryqy  
       296 天前
    gogs
    jifengg
        4
    jifengg  
       296 天前
    公司和自用都用 gogs 的
    gdb
        5
    gdb  
    OP
       296 天前
    @huyujievip @lingeo @caryqy @jifengg

    谢谢你们的推荐,现在的问题是,请问这个 gitee 和 gogs 的差异是啥。我看了点资料,似乎 gitea 是从 gogs fork 出来的,不知道后续发展哪个更好点?
    anytk
        6
    anytk  
       296 天前
    推荐 GitBucket https://github.com/gitbucket/gitbucket
    有 JRE 环境就可以跑了,备份只需要拷贝文件夹就行了,相对 gitlab 来说轻量太多了。
    gdb
        7
    gdb  
    OP
       296 天前
    我对比了一下 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
        8
    HAWCat  
       296 天前
    gitea 更简单,更轻松
    还有个新的选择:onedev 之前在 v2 里面还有宣传
    flamiNNgo
        9
    flamiNNgo  
       296 天前
    选项就这么多 gogs gitea gitlab
    我升级就是再 push 到新系统的新库
    gitea 和 gogs 都用过一段时间,gitea 挺好
    lilei2023
        10
    lilei2023  
       296 天前
    如果只是 push pull ,gogs 就足够了,升级也简单
    Stevenv
        11
    Stevenv  
       296 天前
    不如直接用云服务商的。。比如阿里的 codeup
    gdb
        12
    gdb  
    OP
       296 天前
    @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
        13
    anytk  
       296 天前
    @gdb 其实够用就行,邮箱通知可以配,而且备份数据简单,就一个文件夹。
    newaccount
        14
    newaccount  
       296 天前
    gitlab docker 运行,每晚 cron 自动升级,跑了六年多没出过任何问题,中间还换服务器,旧机器备份之后新机直接还原,用的人都不知道服务器换过了

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

    当然,runner 没敢在 gitlab 机器上跑,也就没人用的时候跑跑数据备份
    weiweiwitch
        15
    weiweiwitch  
       296 天前
    其实 gitlab 的 docker 部署方式,升级起来非常的省心!

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

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

    只是每次升级要记得按照 https://docs.gitlab.com/ee/update/index.html#upgrade-paths 这个里面描述的版本号依次升级,不可以跨度太大。
    zzzsy
        16
    zzzsy  
       296 天前
    gdb
        17
    gdb  
    OP
       296 天前
    @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
        18
    ExplodingFKL  
       296 天前
    @gdb #17 直接用 Gitea 即可,Fork Forgejo 的主要原因是 gitea 转商业化运营了,但 Gitea 本身还是 MIT 开源的 ,GOGS 就算了,个人维护的项目,更新速度/错误修复速度太慢

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

    具体查看 上海吉谛科技有限公司 : https://aiqicha.baidu.com/company_detail_89460963670963
    crysislinux
        19
    crysislinux  
       296 天前 via Android
    gitea 功能很丰富。我之前看它还实现了类似 github actions 的东西。如果常用 github 的会比较爽。
    lng2020
        20
    lng2020  
       282 天前 via Android
    @gdb
    1. 最近几天默认的数据库改成 MySQL 了,建议 MySQL
    2. 我其实推荐 build from source code 。gitea 编译非常简单,直接 clone+make build ,几分钟就搞定了。这样权限、网络问题啥的排查起来方便。
    lng2020
        21
    lng2020  
       282 天前 via Android
    @gdb
    gogs 一开始是 lunny xiao 、unknown 和其他几个人搞的,都算 founder 。后来 unknown 似乎把其他人写权限关了,就只好 fork 出来了
    gdb
        22
    gdb  
    OP
       281 天前
    @lng2020 好的,多谢你的回复和对于 gogs 的历史介绍。

    我在想可能是 mysql 要好点。关于你说的自己编译这个事情,我还没这么大的胆量去折腾,可能编译还好,但是配置啥的我就担心会出一堆问题。。。。。。

    我还是打算先看看 gitea 的 docker 的镜像试试。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1413 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 17:10 · PVG 01:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.