ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

蓝鲸PaaS贡献指南:如何提交你的第一个Pull Request

蓝鲸PaaS贡献指南:如何提交你的第一个Pull Request 蓝鲸PaaS贡献指南如何提交你的第一个Pull Request【免费下载链接】blueking-paas蓝鲸智云 PaaS 平台是一个开放式的开发平台让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。它提供了完善的前后台开发框架、服务总线ESB、API Gateway、调度引擎、公共组件 等服务。旨在帮助用户快速、低成本的构建免运维运营系统与支撑工具。项目地址: https://gitcode.com/GitHub_Trending/bl/blueking-paas蓝鲸PaaSblueking-paas是一个开放式的 SaaS 开发部署平台让开发者可以快速创建、开发、部署和管理蓝鲸应用。想要为蓝鲸PaaS贡献代码本文是一份面向新手的完整贡献指南带你从零开始走通 Issue、本地开发、单元测试到提交 Pull Request 的全流程顺利送出你的第一个 PR。为什么值得参与蓝鲸PaaS开源贡献蓝鲸PaaS采用前后端分离、云原生的架构平台能力被拆分为多个职责清晰的模块贡献时总有一个模块适合你模块技术栈职责apiserverPython / Django主控模块提供平台 REST APIwebfeVue.js前端单页应用operatorGo / kubebuilder云原生应用 Operatorbkpaas-cliGo / cobra平台命令行工具svc-mysql等PythonMySQL、RabbitMQ 等增强服务项目整体架构如下理解模块间的协作关系有助于你定位要改动的代码贡献指南官方文档为 docs/CONTRIBUTING.md项目基于 MIT 协议 开源任何贡献的代码都受该协议保护。第一步选择 Issue避免重复建设提交 PR 前的正确姿势是先找 Issue再写代码在项目的 Issue 列表中检索是否已有相关或近似的问题若已存在先在 Issue 中留言表示你想跟进避免人力浪费若是新 Bug提交 Issue 时请包含操作系统与语言版本、当前版本号、相关日志注意脱敏、可复现的准确步骤。 小提示提供可复现脚本远比大段文字描述更有价值。第二步搭建本地开发环境在项目根目录克隆仓库git clone https://gitcode.com/GitHub_Trending/bl/blueking-paas cd blueking-paas官方本地开发指引见 docs/DEVELOP_GUIDE.md。无论开发哪个模块都需要先安装并提交检查钩子pre-commit install项目通过 .pre-commit-config.yaml 配置了ruff、mypy、import-linter、golangci-lint等工具保证每次提交都符合开发规范。提交前钩子不通过代码是送不出去的。各模块的环境搭建方式不同按需选择apiserverPython 后端用 Docker Compose 启动 MySQL/Redis 等依赖服务再用 poetry 安装 Python 依赖详见 apiserver/README.mdwebfeVue 前端Node.js 项目参考 webfe/README.mdoperatorGo基于 kubebuilder 的 K8s Operator参考 operator/README.mdbkpaas-cliGo 命令行参考 bkpaas-cli/README.md平台各增强服务如 svc-mysql、svc-bkrepo围绕核心模块提供数据、存储、任务队列等能力整体关系如图所示第三步创建分支按规范提交 Commit从main分支创建你自己的修复分支分支名直观描述问题即可git checkout -b fix_proc_time_display蓝鲸团队推荐简短且准确的 commit 信息格式git commit -m fix: 修复部署状态页面进程创建时间展示异常问题常用标记速查表标记说明feat新功能/特性开发fix修复 Bugdocs添加/修改文档refactor代码重构、架构调整test添加/修改单元测试perf优化性能、配置或逻辑第四步补充测试跑通本地验证蓝鲸PaaS的自动化测试基于 pytest 框架分为单元测试、API 测试和 E2E 测试三类用例主要位于 apiserver/paasng/tests/ 目录。本地运行示例export DJANGO_SETTINGS_MODULEpaasng.settings pytest --reuse-db -s --maxfail1 ./tests/两个关键原则来自 docs/CONTRIBUTING.md✅ 如果是 Bugfix请确保在没有修复代码的情况下新测试用例无法通过✅ 提交 PR 前所有单元测试必须全部通过。第五步提交 Pull Request 等待 Review一切就绪后按以下节奏提交 PRFork项目的main分支到你的子仓库推送你的功能分支并发起 PR 到main分支PR 中关联对应的 Issue并附上修改说明PR 应包含代码、文档与测试用例三部分耐心等待蓝鲸团队 Review 并合并。⚠️ 注意三点细节能显著提高 Review 效率PR 标题同样遵循 Git Commit 规范如fix: xxx控制单个 PR 的 commit 数量避免无效的反复提交大特性建议拆分需求、分多次小 PR 提交Review 更快。常见问题速查Qpre-commit 钩子报错怎么办对照 .pre-commit-config.yaml 查看是哪个工具ruff/mypy/golangci-lint 等未通过按提示修复后重新提交。Q第一次提交需要额外操作吗需要签署贡献者许可协议CLA流程详见 docs/CONTRIBUTING.md。Qmain 分支可以直接用于开发吗不建议。main 分支在开发过程中可能处于不可用状态获取稳定版本代码请通过 releases。结语现在你已经掌握了蓝鲸PaaS贡献的完整路径找 Issue → 搭环境 → 规范提交 → 跑测试 → 发 PR。开源社区期待你的第一份代码祝你顺利合并第一个 Pull Request【免费下载链接】blueking-paas蓝鲸智云 PaaS 平台是一个开放式的开发平台让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。它提供了完善的前后台开发框架、服务总线ESB、API Gateway、调度引擎、公共组件 等服务。旨在帮助用户快速、低成本的构建免运维运营系统与支撑工具。项目地址: https://gitcode.com/GitHub_Trending/bl/blueking-paas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进