OneDev 4.4 - 完全开源的 GitLab 竞品 - 加入了 RESTful API - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
robinshen
V2EX    程序员

OneDev 4.4 - 完全开源的 GitLab 竞品 - 加入了 RESTful API

  •  1
     
  •   robinshen 2021 年 5 月 26 日 5711 次点击
    这是一个创建于 1691 天前的主题,其中的信息可能已经有所发展或是发生改变。

    API 文档: https://code.onedev.io/help/api

    项目是完全开源的: https://github.com/theonedev/onedev

    经常有人问我跟 GitLab 对比怎样:我想说的是 GitLab 需要养活几百人,做了很多对大多数开发团队并不常用的功能。而 OneDev 力求将一些最常用的功能做到最好,比如代码浏览时的符号导航,CI/CD 的图形化编辑(后台也是存为 yaml 文件),状态 /字段可定制的工单系统,看工单时,可以直接知道在那个版本被 Fix,以及看某个版本时,直接看到所有完成的工单等等。

    项目是全 Java 的,也有同学说用的技术不够酷,不够云原生。其实用什么技术无所谓,关键是看产品本身是否好用。

    31 条回复    2021-06-15 15:16:26 +08:00
    GPLer
        1
    GPLer  
       2021 年 5 月 26 日 via Android
    GitLab 太重量级了,需要一个小巧且好部署的类似服务,之前用 Gogs 和 Gitea 都还行 ,不知道 OneDev 对硬件配置要求怎么样。
    Rheinmetal
        2
    Rheinmetal  
       2021 年 5 月 26 日
    有无 OKR 类似的东西?
    moxuanyuan
        3
    moxuanyuan  
       2021 年 5 月 26 日
    感觉 UI 设计得很好看,但习惯了 github 的版面风格,总得觉得有点不跟手
    Rwing
        4
    Rwing  
       2021 年 5 月 26 日
    还不错,有竞争也是好事,这种东西最重要的是稳定性及后期服务,观察一段时间先
    moxuanyuan
        5
    moxuanyuan  
       2021 年 5 月 26 日
    @GPLer #1 Gogs 和 Gitea 那个好一点?
    ShinChven
        6
    ShinChven  
       2021 年 5 月 26 日
    Gitlab 的 Issue 和 Wiki 功能对于国内的项目管理模式还是比较简陋。
    dream10201
        7
    dream10201  
       2021 年 5 月 26 日
    看起来不错
    defunct9
        8
    defunct9  
       2021 年 5 月 26 日
    有点 kanban 的意思
    GPLer
        9
    GPLer  
       2021 年 5 月 26 日
    @moxuanyuan Gogs 已经不更新了,最新的版本 0.12.3 是 2020/10/08 发布的,而且 Gogs 移动端上显示异常,现在轻量级的 Git 服务直接用 Gitea 就行了,移动端还算能用。
    forcecharlie
        10
    forcecharlie  
       2021 年 5 月 26 日
    有新的代码托管解决方案是好事,但用 Java 去实现这样一套系统,并不讨好,行业趋势都是用逐步用 Golang 实现一些功能和组件,架构上目前没有发现可以大规模横向扩展的方案,这个方向可以研究一下,还有各种权限增强,功能补全,如 Git LFS,等等等,要做好投入还挺大的。
    julyclyde
        11
    julyclyde  
       2021 年 5 月 26 日
    gitlab 最大的问题是 ruby
    ikas
        12
    ikas  
       2021 年 5 月 26 日
    支持下,这个之前用过也自己编译过一个.很奇怪,现在反 java 是时尚么.........
    robinshen
        13
    robinshen  
    OP
       2021 年 5 月 26 日
    @GPLer 资源占用还好,用阿里云的 1 核 2G 内存的机器就可以跑起来。
    robinshen
        14
    robinshen  
    OP
       2021 年 5 月 26 日
    @ShinChven OneDev 的工单可定制性是一个特色。看板可以按照任意自己定制的字段来组织,比如按模块,工单状态或者分配的人等等,后续这块还会继续增强。
    robinshen
        15
    robinshen  
    OP
       2021 年 5 月 26 日
    @forcecharlie 选择 Java 的一个主要原因是因为有太多成熟类库可以使用了,比如 OneDev 使用 Lucene 对 Git 仓库进行索引,使用 ANTLR 对各种语言进行语法分析。对于这种有着大量复杂逻辑而网络性能不是主要考量的系统,使用 golang 的优势并不明显。

    目前并没有考虑大规模横向扩展,毕竟 OneDev 的定位不是做云服务。对于公司内部使用,一个不错的机器已经足够应付了。另外权限的管理也是 OneDev 比其他类似系统强的地方,比如说你可以定义工单的哪些字段哪些人可以操作,哪些类型的构建(持续构建版本,测试版本,上线或者发行版本等)哪些人可以操作和看到,哪些人可以操作代码哪些代码分支等等。

    GitLFS 如果呼声比较高,在后续的版本会考虑加入。
    LoNeFong
        16
    LoNeFong  
       2021 年 5 月 26 日
    做汉化么
    robinshen
        17
    robinshen  
    OP
       2021 年 5 月 26 日
    @LoNeFong 有这个计划。
    NoahNye
        18
    NoahNye  
       2021 年 5 月 26 日
    请问目前支持 gpg 签名么
    robinshen
        19
    robinshen  
    OP
       2021 年 5 月 27 日
    asdasdasdzxc
        20
    asdasdasdzxc  
       2021 年 5 月 27 日
    好奇心问一下你这前端在 Java 中我第一次见,用到什么技术,什么原理?
    robinshen
        21
    robinshen  
    OP
       2021 年 5 月 27 日
    @asdasdasdzxc http://wicket.apache.org. 是个服务端组件框架,类似于 JSF 。
    asdasdasdzxc
        22
    asdasdasdzxc  
       2021 年 5 月 27 日
    @robinshen 感觉很牛皮,但是好像很少人用,资料也不多,请问为什么选择这种技术栈呢?
    G2bN4dbX9J3ncp0r
        23
    G2bN4dbX9J3ncp0r  
       2021 年 5 月 27 日   1
    @julyclyde
    > gitlab 最大的问题是 ruby

    gitlab 的优势就是 Ruby
    G2bN4dbX9J3ncp0r
        24
    G2bN4dbX9J3ncp0r  
       2021 年 5 月 27 日
    @GPLer
    > GitLab 太重量级了,需要一个小巧且好部署的类似服务,之前用 Gogs 和 Gitea 都还行 ,不知道 OneDev 对硬件配置要求怎么样。


    gogs 这种就只有 git 存储,用 coding github 类的不香吗
    robinshen
        25
    robinshen  
    OP
       2021 年 5 月 27 日
    @asdasdasdzxc 前后端语言一致,优秀的 IDE 支持,成熟稳定。把精力可以完全放在业务逻辑上,不用跟风纷繁复杂的 Javascript 世界。只要不是做那种世界级云服务,性能完全不是问题。
    GPLer
        26
    GPLer  
       2021 年 5 月 27 日
    @lidashuang
    自建其中原因就是为了加速 Github 上项目的访问,并且进行存档,防止因 DMCA 等原因项目被删除。
    coding 之类的有一部分原因是信不过,而且自建已经能满足我的需要了。
    patrickyoung
        27
    patrickyoung  
       2021 年 5 月 28 日 via iPad
    好看 看起来也实用.

    但是我觉得大家推荐 go 的另一个原因是没有 jvm 庞大的开销, 我现在碰到 java 的项目都会尽可能找 go 的替代, 原因就是轻快.
    robinshen
        28
    robinshen  
    OP
       2021 年 5 月 28 日
    @patrickyoung 这要做什么,对于 git 及 CI 服务这种相对比较耗资源的系统,JVM 本身的开销其实不算什么了。一个 2G 内存的 Linux 就足够应付个人项目了。而且对于比较复杂的系统,go 的成熟类库也比较少,语法也相对不够强大。使用什么工具还是要看具体场景,不能一概而论。
    G2bN4dbX9J3ncp0r
        29
    G2bN4dbX9J3ncp0r  
       2021 年 5 月 28 日
    @GPLer 自建 gitlab 不香吗
    patrickyoung
        30
    patrickyoung  
       2021 年 6 月 13 日
    @robinshen 主要是 CI 服务和看板加成,如果只是 git 托管和常规的 PR/Issue,这个多出来的占用可以干不少事情。

    ![1.png]( https://i.loli.net/2021/06/13/6xoSrczOyVjN3tm.png)
    anxn
        31
    anxn  
       2021 年 6 月 15 日 via Android
    很强,关注了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2617 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 02:32 PVG 10:32 LAX 18:32 JFK 21:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86