公司动态

如何上手给 ODC 贡献代码:从环境搭建到第一个 PR 的开发者完整指南

📅 2026/8/22 13:12:53
如何上手给 ODC 贡献代码:从环境搭建到第一个 PR 的开发者完整指南
如何上手给 ODC 贡献代码从环境搭建到第一个 PR 的开发者完整指南【免费下载链接】odcOceanBase Developer Center(ODC), An open-source, enterprise-grade database tool for collaborative development项目地址: https://gitcode.com/gh_mirrors/od/odcODCOceanBase Developer Center是一款开源、企业级的数据库开发与数据管理协同工具。本文带你完整走完 ODC 贡献代码的全流程环境搭建、源码构建、启动调试直到提交你的第一个 PR新手也能轻松上手 ODC 基于现代 WEB 架构内置 SQL 开发、变更审批、SQL 检查规则、数据脱敏等企业级能力支持 OceanBase、MySQL、Oracle 等多种数据库。对想要积累数据库领域开源经验的开发者来说ODC 是一个非常好的练手项目。一、认识 ODC 源码先找准你的贡献切入点 贡献代码前先花 5 分钟了解项目结构能帮你快速找到适合的修改位置目录作用新手友好度libs/ob-sql-parserSQL 解析器独立类库⭐⭐⭐⭐⭐libs/db-browser数据库元数据浏览组件独立类库⭐⭐⭐⭐⭐server/odc-common通用工具类库⭐⭐⭐⭐server/plugins各数据库方言插件连接/结构/任务⭐⭐⭐⭐server/odc-service核心业务功能实现⭐⭐⭐server/odc-serverWeb 框架与请求路由⭐⭐⭐script环境准备、构建、启停等脚本⭐⭐⭐⭐⭐新手建议从libs/下的独立类库或简单的缺陷修复入手代码边界清晰、依赖少更容易通过 Review。二、克隆 ODC 仓库并搭建开发环境ODC 后端开发依赖JDK 8 MavenNode.js/pnpm 非必须可跳过前端构建。第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/od/odc.git cd odc第 2 步安装 JDK 8 与 Maven以 CentOS 为例yum install java-1.8.0-openjdk-devel⚠️ 项目内置了Maven Wrapper仓库根目录的mvnw/mvnw.cmd统一了 Maven 版本无需单独配置仓库所有依赖已自包含在pom.xml中。若构建失败可检查本地~/.m2/settings.xml是否干扰了项目配置。第 3 步可选初始化 Node.js 环境后端日常开发通过 CDN 引用前端资源不装 Node.js 也能开发。如需要本地构建前端script/init_node_env.sh完整环境说明见开发指南docs/zh-CN/DEVELOPER_GUIDE.md贡献流程见docs/zh-CN/CONTRIBUTION.md。三、IDEA 配置 ODC 开发环境格式化与内存两步搞定 ✅推荐使用IntelliJ IDEA打开项目两个关键配置能避免新手踩坑1. 配置 ODC 代码格式化项目统一采用 Eclipse Code Formatter 格式化 Java 代码。安装Adapter for Eclipse Code Formatter插件后在Other Settings → Eclipse Code Formatter中导入项目自带配置格式化配置builds/code-style/eclipse-java-oceanbase-style.xmlimport 顺序builds/code-style/eclipse-java-oceanbase.importorder2. 调大编译堆内存新手必看IDEA 默认编译堆内存只有 700M编译 ODC 会直接失败。请在Settings → Build, Execution, Deployment → Compiler中将 Build process heap size 调整为2000MB四、构建并启动 ODC 源码两种姿势任选姿势一命令行构建按顺序执行script目录下的脚本即可完成构建script/init_node_env.sh # 首次构建初始化前端环境 script/update_submodule.sh # 同步前端子模块 script/build_libs.sh # 安装 libs 下的自研基础组件必做 script/build_jar.sh # 构建后端及全部插件构建完成后产物会输出到distribution/plugins、distribution/starters、distribution/modules三个目录。姿势二IDEA 中直接启动推荐在 IDEA 中找到服务端入口类OdcServer位于server/odc-server模块右键选择Run OdcServer.main()首次运行会因缺少元数据库MetaDB配置而失败这是正常现象。在Run/Debug Configurations的Environment variables中填入一个 OceanBase/MySQL 元数据库连接信息即可注意是环境变量不是 VM options配置完成后启动浏览器访问http://localhost:8989即可看到 ODC 页面 五、提效技巧远程调试与热部署 代码部署到服务器联调时两个技巧能大幅节省时间远程调试在 IDEA 新建Remote JVM Debug配置填写 Host 和 Port然后启动时指定调试端口export ODC_REMOTE_DEBUG_PORT8000 script/start-odc.shArthas 热部署安装ArthasHotSwap插件后修改少量类 → 重新编译 → 右键选择 Swap this class → 把生成的命令粘贴到服务器执行1 分钟完成热更新无需重新打包重启六、提交你的第一个 ODC PR从 Issue 到合并这是新手最容易忽略也最重要的一步照着做就能少返工1. 先认领 Issue每个 PR 都必须关联一个 Issue。处理前先与项目成员沟通确认把 Issue assign 给自己。2. PR 标题遵循 Conventional Commits 规范type[optional scope]: description✅ 正确fix(table): fix get partition failed if connect to public address❌ 错误table constraint过于简单、featscope: xxx尖括号是变量占位符3. 控制 PR 规模单个 PR 变更尽量不超过 500 行Review 耗时控制在 2 小时内不相关的修复不要塞进同一个 PR哪怕只改一行也单独提。4. 使用官方描述模板缺陷修复类 PR 需包含缺陷描述 / 修复方案 / 测试说明 / 规避方案四部分功能实现类 PR 需包含实现概述 / 相关模块 / 测试建议 / TODO。模板详见docs/zh-CN/CONTRIBUTION.md。5. 快速响应 Review 反馈PR 讨论是学习交流的机会及时回应评审意见别纠结格式细节——格式化交给自动工具。七、遇到问题怎么办常用资料清单 开发环境、构建、启动、联调docs/zh-CN/DEVELOPER_GUIDE.md贡献规范、缺陷报告、PR 模板docs/zh-CN/CONTRIBUTION.md行为准则CODE_OF_CONDUCT-zh-CN.md构建脚本script/目录build_jar.sh、start-odc.sh、kill-odc.sh等代码格式化配置builds/code-style/目录另外部分单元测试依赖真实数据库连接信息加密存放在仓库根目录的local-unit-test.properties文件中已加入.gitignore不会泄露首次运行相关测试时明文会自动加密保存。还可以加入 ODC 社区技术答疑群和开发者和用户直接交流遇到问题响应更快写在最后给 ODC 贡献代码的完整路径其实很清晰读文档 → 搭环境 → 跑起来 → 认领 Issue → 小步提交 PR。建议新手从libs/ob-sql-parser、libs/db-browser这类边界清晰的模块或标记为新手友好的缺陷开始你的第一个 PR。祝你早日看到自己的 commit 出现在 ODC 的 CHANGELOG 里 【免费下载链接】odcOceanBase Developer Center(ODC), An open-source, enterprise-grade database tool for collaborative development项目地址: https://gitcode.com/gh_mirrors/od/odc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考