Skip to content
master
Go to file
Code

README.md

Github License Npm version lerna download issue PRs Welcome star

云开� CloudBase Framework

🚀 CloudBase Framework 是云开�官方出�的��端一体化部署工具 🔥

无需改动代�,��端一键托管部署,基于Serverless架构,加速访问,弹性��维。

官网 / 文档 / 社区 / 问答

Table of Contents

快速开始

  1. 安装 CLI
npm install -g @cloudbase/cli@latest
  1. �始化一个应用
cloudbase init
  1. 部署应用
cloudbase framework:deploy

一键部署一个 Vue CLI 创建的 项目

项目示例

å??ç§° 应用示例介ç»? 基于模æ?¿åˆ›å»ºé¡¹ç›®
Vue 应用 Vue + 云函数 + ��网站部署 cloudbase init --template vue
React 应用 React + 云函数 + ��网站部署 cloudbase init --template react-starter
React 全栈应用 React + 云函数 + ��网站部署+ 云数�库 cloudbase init --template react-demo
Nuxt SPA 应用 Nuxt SPA + 云函数 + ��网站部署 cloudbase init --template nuxt-spa
Nuxt SSR 应用 Nuxt SSR + �务端部署 + ��网站部署 cloudbase init --template nuxt-ssr
Koa 应用 Koa + �务端部署 cloudbase init --template koa-starter
Express 应用 Express + �务端部署 cloudbase init --template express-starter
Nest 应用 Nest + �务端部署 cloudbase init --template nest-starter
Egg 应用 Egg + �务端部署 cloudbase init --template egg-starter
Node.js 云函数示例 Node.js 云函数 cloudbase init --template node-starter
PHP 云函数示例 PHP 云函数 cloudbase init --template php-starter
Java 云函数示例 Java 云函数 cloudbase init --template java-starter
VuePresss 网站应用 VuePresss + ��网站部署 cloudbase init --template vuepress
Node.js 云应用 Node.js + Serverless 云应用部署 cloudbase init --template node
Aqueduct (Dart Server) 云应用 Aqueduct (Dart Server) + Serverless 云应用部署 cloudbase init --template dart
Omi 应用 Omi + 云函数 + ��网站部署 cloudbase init --template omi-starter
uni-app 应用 uni-app + 云函数 + ��网站部署 cloudbase init --template uni-app-starter
taro 应用 taro + 云函数 + ��网站部署 cloudbase init --template taro-starter
Deno 云应用 Deno + Serverless 云应用部署 cloudbase init --template deno
Next SSR 应用 Next SSR + �务端部署 + ��网站部署 cloudbase init --template next-ssr

模�

云开å?‘ 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 Npm version 一键部署网站应用
@cloudbase/framework-plugin-node Npm version 一键部署 Node 应用(支�底层部署为函数或者 Serverless 云应用)
@cloudbase/framework-plugin-nuxt Npm version 一键部署 Nuxt SSR 应用
@cloudbase/framework-plugin-function Npm version 一键部署函数资�
@cloudbase/framework-plugin-container Npm version 一键部署云应用容器�务
@cloudbase/framework-plugin-dart Npm version 一键部署 Dart 云应用
@cloudbase/framework-plugin-database Npm version 一键声明�部署云开� NoSQL 云数�库
@cloudbase/framework-plugin-deno Npm version 一键部署 Deno 应用
@cloudbase/framework-plugin-next Npm version 一键部署 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):

All Contributors


Booker Zhao

🚇 ⚠� 💻 🔌

Weijia Wang

💻

hengechang

💻 🚇

Zijie Zhou

💻 🔌 📢

erikqin

💻 🚧 💡

Hanqin

�

Zem

💻

magenta

� 💻

TIANXIANG LAN

🖋

liyuanfeng

💻

白宦�

💻

易良

💻

Sherry Zhang

💻

RealyBig

💻

Saiya

📢 �

mirageql

💻 �

Tab Liang

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

You can’t perform that action at this time.