云开� CloudBase Framework
æ— éœ€æ”¹åŠ¨ä»£ç ?,å‰?å?Žç«¯ä¸€é”®æ‰˜ç®¡éƒ¨ç½²ï¼ŒåŸºäºŽServerlessæž¶æž„ï¼ŒåŠ é€Ÿè®¿é—®ï¼Œå¼¹æ€§å…?è¿?维。
官网 / 文档 / 社区 / é—®ç”
Table of Contents
- 快速开始
- 项目示例
- æ?’ä»¶
- �置示例
- 整体架构
- Roadmap
- 贡献指�
- License
- Changelog
- 在线交�群
快速开始
- 安装 CLI
npm install -g @cloudbase/cli@latest- �始化一个应用
cloudbase init- 部署应用
cloudbase framework:deploy一键部署一个 Vue CLI 创建的 项目
项目示例
模�
云开å?‘ CloudBase Framework 支æŒ?模æ?¿å·¥ç¨‹ï¼Œæ??供了多ç§?è¯è¨€å’Œæ¡†æž¶çš„æ¨¡æ?¿é¡¹ç›®ï¼Œå?ªéœ€è¦?一个命令就å?¯ä»¥åˆ›å»ºä¸€ä¸ªå¼€ç®±å?³ç”¨çš„工程,并且集æˆ?了开å?‘ã€?构建ã€?部署的工作æµ?。
模æ?¿å?¯ä»¥è‡ªç”±å®šåˆ¶ï¼Œä½ å?¯ä»¥æ ¹æ?®è‡ªå·±çš„需è¦?创建任何è¯è¨€ã€?框架的模æ?¿å·¥ç¨‹ï¼Œå¹¶é€šè¿‡æ¨¡æ?¿å·¥ç¨‹ä¸€é”®ç”Ÿæˆ?ä½ çš„åˆ?始工程,原有的工程å?¯ä»¥å¾ˆå®¹æ˜“æ”¹é€ æˆ? cloudbase 的模æ?¿é¡¹ç›®ï¼Œå?ªéœ€è¦?创建一个 cloudbaserc.json,填写必è¦?çš„é…?ç½®å?³å?¯ã€‚
更多模�相关介�,�以点击�往
æ?’ä»¶
云开å?‘ CloudBase Framework 支æŒ?æ?’件机制,æ??供了多ç§?应用框架和云资æº?çš„æ?’件,å?ªéœ€è¦?很少的é…?置甚至 0 é…?置就å?¯ä»¥çŽ°æœ‰åº”ç”¨å’Œäº‘å¼€å?‘ CloudBase Framework 框架进行集æˆ?。
æ?’ä»¶å?¯ä»¥å¤„ç?†åº”用ä¸çš„一些独立å?•元的构建ã€?部署ã€?å¼€å?‘ã€?è°ƒè¯•ç‰æµ?程。例如 website æ?’ä»¶å?¯ä»¥å¤„ç?†é?™æ€?网站ç‰å?•元,node æ?’ä»¶å?¯ä»¥å¤„ç?† koa ã€?express ç‰ node 应用。æ?’ä»¶å?¯ä»¥ç»„å?ˆä½¿ç”¨ã€‚
æ?’ä»¶çš„é…?置写在 cloudbaserc 文件ä¸ï¼Œç›®å‰?仅支æŒ? JSON 文件,å?Žç»ä¼šæ”¯æŒ? YAML。
�件的�置�以手动填写,也�以自动生�,目�针对�端框架支�自动识别填写�件。
自动检测生��件�置�程
-
cloudbase init --without-template生�项目�置· -
cloudbase framework:deploy进行自动检测生��件�置文件并部署
目�支�的�件列表
| �件 | 最新版本 | �件介� | |
|---|---|---|---|
![]() |
@cloudbase/framework-plugin-website | 一键部署网站应用 | |
![]() |
@cloudbase/framework-plugin-node | 一键部署 Node 应用(支�底层部署为函数或者 Serverless 云应用) | |
![]() |
@cloudbase/framework-plugin-nuxt | 一键部署 Nuxt SSR 应用 | |
![]() |
@cloudbase/framework-plugin-function | 一键部署函数资� | |
![]() |
@cloudbase/framework-plugin-container | 一键部署云应用容器�务 | |
![]() |
@cloudbase/framework-plugin-dart | 一键部署 Dart 云应用 | |
![]() |
@cloudbase/framework-plugin-database | 一键声明�部署云开� NoSQL 云数�库 | |
![]() |
@cloudbase/framework-plugin-deno | 一键部署 Deno 应用 | |
![]() |
@cloudbase/framework-plugin-next | 一键部署 Next SSR 应用 |
�置示例
例如一个 Vue çš„å…¨æ ˆé¡¹ç›®ï¼ŒåŒ…å?«ç½‘ç«™å‰?端和云函数
�以在在项目下手动创建一个 cloudbaserc.json,填写如下�置文件,调用 cloudbase framework:deploy 进行部署
或者直接�行
-
cloudbase init --without-template -
cloudbase framework:deploy进行自动检测并部署
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"buildCommand": "npm run build",
"outputPath": "dist"
}
},
"server": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "cloudfunctions",
"functions": [
{
"name": "helloworld",
"config": {
"timeout": 5,
"envVariables": {},
"runtime": "Nodejs10.15",
"memorySize": 128
}
}
]
}
}
}
}
}更多�置详细�数说明,�以查看�置说明文档,点击�往
整体架构
云开� CloudBase Framework 基于云开�底层资�和云开�资�编排管�,整体包� CLI 工具层�应用框架层和 CI/CD 层。
- CLI 层针对主æµ?应用框架进行了适é…?,å?¯ä»¥ä¸€é”®æ— ç¼?集æˆ?,并æ??供开å?‘ã€?一键部署ç‰åŠŸèƒ½
- 应用框架层æ??供了针对ä¸?å?Œè¯è¨€å’Œæ¡†æž¶çš„ SDK 和组件,å?Œæ—¶å¯¹åº•层云资æº?进行抽象
- CI/CD 层å?¯ä»¥å®žçŽ°äº‘ç«¯éƒ¨ç½²ã€?代ç ?å¹³å?°é›†æˆ?ã€?ç?°åº¦å?‘布和å?‡çº§å›žæ»šç‰åŠŸèƒ½
Roadmap
| 里程碑 | 状� |
|---|---|
| æ¡†æž¶æ ¸å¿ƒåŠŸèƒ½æ”¯æŒ?æ?’件机制,适é…? Cloudbase CLI | |
| 开� Website plugin 支�部署�端��项目 | |
| 自动检测å‰?端框架 (Vue/React ç‰ä¸»æµ?框架) 使用 Website plugin | |
| 开� Nuxt plugin 支� Nuxt SSR 项目 | |
| 开� Function plugin 支�自动部署函数 | |
| 开� Node Api Plugin 支�一键部署 Node 应用 | |
| æ?’件支æŒ?编译æˆ? SAM æ??è¿° | |
| 自动检测 Express/ Koa ç‰ä¸»æµ? Node 框架使用 Node Api Plugin | |
| 云开å?‘å…¨æ ˆæ¡†æž¶æ”¯æŒ? | |
| Node Api Plugin 支æŒ?建模和代ç ?生æˆ? | |
| 结å?ˆ Github Actionã€?Coding ç‰å¹³å?°çš„ CI/CD 功能 | |
| 支æŒ?å?Žç«¯éƒ¨åˆ†å®¹å™¨åŒ–构建,æ??ä¾›æœ?务函数化构建的å?¦ä¸€ä¸ªé€‰é¡¹ | |
| 开� SAM Plugin 支� SAM 扩展�件,框架�引入第三方 SAM 扩展(如 CMS) | |
| 开� Flutter Plugin 支� Flutter 的 Dart �端一键部署 |
贡献指�
欢迎大家�与到 CloudBase Framework 的开�工作,贡献一份力�
开�贡献方�请�考 开�贡献指� 文档
Changelog
CloudBase Framework 的版本�更日志请�阅 changelog 文件
License
å¼€æº?å??议文档请å?‚阅 Apache License 2.0
在线交�群
微信群
|
QQ 群
|
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!





































