API 文档: https://code.onedev.io/help/api
项目是完全开源的: https://github.com/theonedev/onedev
经常有人问我跟 GitLab 对比怎样:我想说的是 GitLab 需要养活几百人,做了很多对大多数开发团队并不常用的功能。而 OneDev 力求将一些最常用的功能做到最好,比如代码浏览时的符号导航,CI/CD 的图形化编辑(后台也是存为 yaml 文件),状态 /字段可定制的工单系统,看工单时,可以直接知道在那个版本被 Fix,以及看某个版本时,直接看到所有完成的工单等等。
项目是全 Java 的,也有同学说用的技术不够酷,不够云原生。其实用什么技术无所谓,关键是看产品本身是否好用。
1
GPLer 2021-05-26 08:18:12 +08:00 via Android
GitLab 太重量级了,需要一个小巧且好部署的类似服务,之前用 Gogs 和 Gitea 都还行 ,不知道 OneDev 对硬件配置要求怎么样。
|
2
Rheinmetal 2021-05-26 08:23:46 +08:00
有无 OKR 类似的东西?
|
3
moxuanyuan 2021-05-26 08:42:29 +08:00
感觉 UI 设计得很好看,但习惯了 github 的版面风格,总得觉得有点不跟手
|
4
Rwing 2021-05-26 09:15:12 +08:00
还不错,有竞争也是好事,这种东西最重要的是稳定性及后期服务,观察一段时间先
|
5
moxuanyuan 2021-05-26 09:36:18 +08:00
@GPLer #1 Gogs 和 Gitea 那个好一点?
|
6
ShinChven 2021-05-26 09:39:02 +08:00
Gitlab 的 Issue 和 Wiki 功能对于国内的项目管理模式还是比较简陋。
|
7
dream10201 2021-05-26 09:43:23 +08:00
看起来不错
|
8
defunct9 2021-05-26 09:54:40 +08:00
有点 kanban 的意思
|
9
GPLer 2021-05-26 10:18:03 +08:00
@moxuanyuan Gogs 已经不更新了,最新的版本 0.12.3 是 2020/10/08 发布的,而且 Gogs 移动端上显示异常,现在轻量级的 Git 服务直接用 Gitea 就行了,移动端还算能用。
|
10
forcecharlie 2021-05-26 11:34:30 +08:00
有新的代码托管解决方案是好事,但用 Java 去实现这样一套系统,并不讨好,行业趋势都是用逐步用 Golang 实现一些功能和组件,架构上目前没有发现可以大规模横向扩展的方案,这个方向可以研究一下,还有各种权限增强,功能补全,如 Git LFS,等等等,要做好投入还挺大的。
|
11
julyclyde 2021-05-26 11:39:33 +08:00
gitlab 最大的问题是 ruby
|
12
ikas 2021-05-26 13:32:54 +08:00
支持下,这个之前用过也自己编译过一个.很奇怪,现在反 java 是时尚么.........
|
14
robinshen OP @ShinChven OneDev 的工单可定制性是一个特色。看板可以按照任意自己定制的字段来组织,比如按模块,工单状态或者分配的人等等,后续这块还会继续增强。
|
15
robinshen OP @forcecharlie 选择 Java 的一个主要原因是因为有太多成熟类库可以使用了,比如 OneDev 使用 Lucene 对 Git 仓库进行索引,使用 ANTLR 对各种语言进行语法分析。对于这种有着大量复杂逻辑而网络性能不是主要考量的系统,使用 golang 的优势并不明显。
目前并没有考虑大规模横向扩展,毕竟 OneDev 的定位不是做云服务。对于公司内部使用,一个不错的机器已经足够应付了。另外权限的管理也是 OneDev 比其他类似系统强的地方,比如说你可以定义工单的哪些字段哪些人可以操作,哪些类型的构建(持续构建版本,测试版本,上线或者发行版本等)哪些人可以操作和看到,哪些人可以操作代码哪些代码分支等等。 GitLFS 如果呼声比较高,在后续的版本会考虑加入。 |
16
LoNeFong 2021-05-26 14:31:05 +08:00
做汉化么
|
18
NoahNye 2021-05-26 23:03:34 +08:00
请问目前支持 gpg 签名么
|
19
robinshen OP |
20
asdasdasdzxc 2021-05-27 09:30:21 +08:00
好奇心问一下你这前端在 Java 中我第一次见,用到什么技术,什么原理?
|
21
robinshen OP @asdasdasdzxc http://wicket.apache.org. 是个服务端组件框架,类似于 JSF 。
|
22
asdasdasdzxc 2021-05-27 12:44:25 +08:00
@robinshen 感觉很牛皮,但是好像很少人用,资料也不多,请问为什么选择这种技术栈呢?
|
23
lidashuang 2021-05-27 13:30:59 +08:00 1
|
24
lidashuang 2021-05-27 13:32:13 +08:00
@GPLer
> GitLab 太重量级了,需要一个小巧且好部署的类似服务,之前用 Gogs 和 Gitea 都还行 ,不知道 OneDev 对硬件配置要求怎么样。 gogs 这种就只有 git 存储,用 coding github 类的不香吗 |
25
robinshen OP @asdasdasdzxc 前后端语言一致,优秀的 IDE 支持,成熟稳定。把精力可以完全放在业务逻辑上,不用跟风纷繁复杂的 JavaScript 世界。只要不是做那种世界级云服务,性能完全不是问题。
|
26
GPLer 2021-05-27 16:39:37 +08:00
@lidashuang
自建其中原因就是为了加速 Github 上项目的访问,并且进行存档,防止因 DMCA 等原因项目被删除。 coding 之类的有一部分原因是信不过,而且自建已经能满足我的需要了。 |
27
patrickyoung 2021-05-28 01:08:00 +08:00 via iPad
好看 看起来也实用.
但是我觉得大家推荐 go 的另一个原因是没有 jvm 庞大的开销, 我现在碰到 java 的项目都会尽可能找 go 的替代, 原因就是轻快. |
28
robinshen OP @patrickyoung 这要做什么,对于 git 及 CI 服务这种相对比较耗资源的系统,JVM 本身的开销其实不算什么了。一个 2G 内存的 Linux 就足够应付个人项目了。而且对于比较复杂的系统,go 的成熟类库也比较少,语法也相对不够强大。使用什么工具还是要看具体场景,不能一概而论。
|
29
lidashuang 2021-05-28 12:25:26 +08:00
@GPLer 自建 gitlab 不香吗
|
30
patrickyoung 2021-06-13 23:14:41 +08:00
@robinshen 主要是 CI 服务和看板加成,如果只是 git 托管和常规的 PR/Issue,这个多出来的占用可以干不少事情。
![1.png]( https://i.loli.net/2021/06/13/6xoSrczOyVjN3tm.png) |
31
anxn 2021-06-15 15:16:26 +08:00 via Android
很强,关注了
|