bk_resource
是一个基于 Blueapps 和 Django Rest Framework 的脚手架,
旨在帮助开发人员快速生成符合 12-factor
规范的 WEB SaaS,并在DDD
开发实践中方便地创建可扩展的领域服务
- [Basic] 基于
Django
进行封装,生成标准swagger API
- [Basic] 基于
django-environ
适配环境变量与.env
配置 - [Basic] 支持基于
PEP-621
的全工具链 (mypy\isort\flake8\black) 配置方案 - [Basic] 支持代码规范类工具整合:
pre-commit
、code-cc
- [Resource] 集成
bk_resource
组织工程目录结构,通过Resource
的方式声明业务逻辑 - [Resource] 支持
ApiResource
/BkApiResource
调用第三方API
接口
- 安装
cruft
$ pip install cruft
- 通过
cruft
脚本架生成项目
$ cruft create https://github.com/TencentBlueKing/bk-resource.git --checkout main --directory template
- 添加远程仓库地址并完成推送
cd {{ project_id }}
git init
git add .
git commit -m "init repo"
git remote add origin {{ git_url }}
git push -u origin master
检查或更新模板前需确保本地代码已提交到 GIT 仓库
- 检查模板是否更新
$ cruft check --checkout main
- 合并模板到本地项目
$ cruft update --checkout main
- Api 交互层
通过 UI Api 或者 Open Api 将服务暴露给用户,由对应的 Api 负责对应的业务逻辑串联。 - Scene 场景层
在通过 Api 访问后端时,实际访问的是由 Resource 暴露的一个场景服务,通过场景服务串联领域层的业务逻辑。 - Domain 领域层
领域层聚焦对应的细分模块,负责处理模块的具体业务逻辑,例如,在用户模块中,处理用户注册、登录、修改密码、重置密码等逻辑。 - Model 模型层
在 MVC 框架中 (如 Django),将代码架构划分为 Model (模型),View (视图),Controller (控制器) 三层,View 用于界面展示,在前后端分离开发部署的实践中,已经不再由后端处理,后端只需要处理 Model & Controller。
- BK-CMDB:蓝鲸配置平台(蓝鲸 CMDB)是一个面向资产及应用的企业级配置管理平台。
- BK-CI:蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
- BK-BCS:蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
- BK-PaaS:蓝鲸 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。
- BK-SOPS:标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类 SaaS 产品。
- BK-JOB 蓝鲸作业平台(Job)是一套运维脚本管理系统,具备海量任务并发处理能力。
如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。
腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。
基于 MIT 协议, 详细请参考 LICENSE