笔记
- 不用担心上面的安全建议。一旦发现并发布,就会立即修复并通知用户
- 我们在code.onedev.io上开发 OneDev是为了进行测试。请在那里提交问题和拉取请求
只需推送代码,您就可以在任意提交中执行符号搜索和导航,而无需任何额外的设置。您还可以在查看提交或拉取请求时跳转到 diff 中的符号定义。
它的工作原理是使用 ANTLR 分析源代码,提取符号进行增量存储,快速且节省空间。支持 Java、JavaScript、C、C++、CSharp、Go、PHP、Python、CSS、SCSS、LESS 和 R。
您可以切换到任何提交,并使用正则表达式搜索代码。OneDev 在后台使用 Lucene 增量索引代码。在搜索时,提取正则表达式中的文字三元组以进行粗略搜索,然后在结果中进行精确匹配。这使得正则表达式搜索速度极快,即使对于像 Linux 这样的大型存储库也是如此。
当然,这可以通过 GitHub 上的许多第三方应用程序来完成,但是它们在自己的应用程序上显示结果,这使得诸如对分析结果添加评论之类的审核活动变得困难。更不用说您需要为这些服务付费。
GitHub/GitLab 问题的简单打开/关闭状态对于许多工作流程来说效果不佳。考虑客户提出的问题:
- 如果开发人员在提交代码后关闭问题,客户将收到通知,并可能要求发布修复问题的版本。
- 如果开发人员在发布时关闭问题,QA 可能会对要测试哪些问题感到困惑,因为它们在测试时都保持开放状态。
通过可定制的问题状态,我们可以用四种状态来解决问题:开放、已提交、测试就绪和已发布:
- 提交代码后,问题自动转换为已提交状态
- 创建并部署测试版本后,问题会自动转换为测试就绪状态。QA 将收到通知,并可以检查问题详细信息以了解测试版本部署到哪个环境中。
- 当测试通过并创建发布版本时,提交问题的客户将收到通知,他们可以检查问题详细信息以查看哪个版本包含修复程序。
服务台允许您的用户通过电子邮件提交票证,而无需拥有 OneDev 帐户。然后可以在所需的项目中创建这些票证,并将其分配给团队中的适当成员。关于票证的所有进一步讨论都可以完全通过电子邮件进行,讨论内容作为评论发布到票证中。当有任何票证活动时,例如创建或部署相关版本时,用户还会收到通知
再次感谢 ANTLR,OneDev 为项目、提交、问题、构建和拉取请求提供了复杂的查询语言,并具有直观的自动完成和提示。例如,它使我们的客户能够找到其正在运行的版本和最新版本之间的已修复问题,并使我们能够找到由接触指定模块的人提交的所有提交等。
查询可以保存和订阅,这样您就不会错过任何感兴趣的内容。
OneDev 附带 GUI 来生成 CI/CD Yaml。无需通过 google 搜索 Yaml 语法。用于启动 OneDev 服务器的一行 docker 命令,您将自动拥有一个本地 CI/CD 运行程序。担心服务器运行大量作业的能力?另一种单线连接任何机器上的自动更新代理。想要自动扩展 CI/CD 农场吗?一个用于将 OneDev 部署到 k8s 集群的 Helm OneLine。想要针对本地更改测试/调试 CI/CD 作业吗?托德前来救援
构建管道、矩阵作业、类型化参数、参数链、步骤模板、构建升级……太多简洁的功能无法详细说明……
二进制包、CI/CD、代码和问题的开箱即用集成使信息交叉引用变得更加容易。例如,可以比较不同的包版本以显示代码更改或修复的问题,发布的包将自动与 CI/CD 构建链接等
根据作者、分支和更改的文件指定拉取请求审查策略。OneDev 可以利用 git 更改历史记录来建议最合适的审阅者来处理涉及某些文件的拉取请求。
对代码或差异的任何部分进行评论以开始轻量级审查,而无需打开拉取请求。通过代码修改甚至文件重命名以用作文档来实时查看评论。
每个讨论都是线程化的,以便您可以轻松了解新评论/更新的讨论。
按 cmd/ctrl-k 从任何地方调出命令面板。搜索项目、文件、问题、拉取请求、构建和各种设置,无需离开键盘即可跳转到它们
当在 GitHub/GitLab 的 markdown 文件中嵌入图像时,您需要在单独的页面中上传图像,然后找出引用该图像的相对路径。使用 OneDev,您只需将图像上传到同一编辑器中所需的文件夹,链接就会自动生成。
OneDev 在编辑窗口中跟踪您的光标,并根据需要滚动预览窗口,以便您始终可以预览您正在输入的内容。
OneDev 检查主分支的 git 历史记录,以有效地按语言计算源代码行的趋势。
组织是公共服务的理想选择。然而,对于自托管内部使用,我们认为分层结构更适合组织项目。子项目可以继承父项目的设置,并且可以根据需要选择性地覆盖其中的一些设置。这减少了管理公司大量项目的大量开销。
只需将多个 OneDev 实例连接到同一个数据库,您将获得一个集群来将项目负载分配到多个服务器,并且能够实时同步项目与其副本。如果一台服务器出现故障,其他服务器上的项目副本将立即恢复活动,而不会丢失数据和服务。
在自定义仪表板中排列小工具,以便一目了然地获取重要信息。与其他用户或组共享仪表板,或将其公开给所有人。
跟踪问题、里程碑和项目进度以及预计时间和花费的时间。直接记录日志工作,或在工作时启动秒表。自动汇总从子任务到父任务的估计/花费时间。生成工作统计和计费的时间表。
跨项目快速代码搜索,查找分散在多个项目中的信息。支持按符号和正则表达式搜索。开箱即用,无需额外设置。
用于访问运行 CI/CD 作业环境的 Web 终端。与暂停指令一起使用,可以检查作业的现场环境以帮助诊断,并在之后恢复作业。
OneDev 经过精心设计,充分考虑了性能。使用 2 核 2GB 盒子,您将获得上述中型项目的所有功能。它已被密集使用5年多,其可靠性经过实战验证。修复错误是我们的首要任务,通常情况下几乎没有已知的错误。