V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
robinshen
V2EX  ›  程序员

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

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

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

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

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

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


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

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

    ![1.png]( https://i.loli.net/2021/06/13/6xoSrczOyVjN3tm.png)
    anxn
        31
    anxn   168 天前 via Android
    很强,关注了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2776 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:04 · PVG 20:04 · LAX 04:04 · JFK 07:04
    ♥ Do have faith in what you're doing.