# cloudbase-framework **Repository Path**: lelezr/cloudbase-framework ## Basic Information - **Project Name**: cloudbase-framework - **Description**: CloudBase Framework 是云开发官方出品的前后端一体化部署工具 🔥 无需改动代码,前后端一键托管部署,基于Serverless架构,加速访问,弹性免运维 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: gitee - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2020-10-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CloudBase Framework 🚀 CloudBase Framework is a front-end and back-end integrated deployment tool officially produced by CloudBase **No need to change the code, one-click hosting and deployment of the front and back ends, based on the Serverless architecture, accelerating access, flexible and free of operation and maintenance.** [Official Website](https://cloudbase.net) / [Document](https://docs.cloudbase.net/) / [Community](https://cloudbase.net/community.html) / [Q&A](https://support.qq.com/products/148793) [](/TencentCloudBase-cloudbase-framework/TencentCloudBase/cloudbase-framework/blob/master/LICENSE) [](https://www.npmjs.com/package/@cloudbase/framework-core) [](https://lernajs.io/) [](https://www.npmjs.com/package/@cloudbase/cli) [](https://gitee.com/TencentCloudBase/cloudbase-framework/issues) [](https://gitee.com/TencentCloudBase/cloudbase-framework/pulls) [](https://gitee.com/TencentCloudBase/cloudbase-framework/actions?query=workflow%3ABaseline-Init) [](https://gitee.com/TencentCloudBase/cloudbase-framework) ## Table of Contents - [Quick Start](#quick-start) - [Project Example](#examples) - [Plugin](#plugins) - [Configuration Example](#conf) - [Overall Structure](#architect) - [Roadmap](#roadmap) - [Contribution Guide](#contribute) - [License](#license) - [Changelog](#changelog) - [Online Group](#qq) ## Quick Start 1. **Install CLI** ```bash npm install -g @cloudbase/cli@latest ``` 2. **Login** ```bash cloudbase login ``` 3. **Initialize an application** ```bash cloudbase init ``` 4. **Deploy the application** ```bash cloudbase framework:deploy ``` **Deploy a project created by Vue CLI with one click**  ## Project Example | | name | Application example introduction | Create project based on template | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/vue) | Vue application | Vue + cloud functions + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=vue&appName=vue) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/react-starter) | React application | React + cloud functions + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=react-starter&appName=react-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/react-demo) | React full stack application | React + cloud functions + static website deployment + cloud database | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=react-demo&appName=react-demo) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/nuxt-spa) | Nuxt SPA application | Nuxt SPA + cloud function + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=nuxt-spa&appName=nuxt-spa) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/nuxt-ssr) | Nuxt SSR application | Nuxt SSR + server deployment + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=nuxt-ssr&appName=nuxt-ssr) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/koa-starter) | Koa application | Koa + server deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=koa-starter&appName=koa-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/express-starter) | Express app | Express + server deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=express-starter&appName=express-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/nest-starter) | Nest app | Nest + server deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=nest-starter&appName=nest-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/egg-starter) | Egg application | Egg + server deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=egg-starter&appName=egg-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/node-starter) | Node.js cloud function example | Node.js cloud function | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=node-starter&appName=node-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/php-starter) | PHP cloud function example | PHP cloud functions | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=php-starter&appName=php-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/java-starter) | Java cloud function example | Java cloud functions | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=java-starter&appName=java-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/vuepress) | VuePresss website application | VuePresss + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=vuepress&appName=vuepress) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/node) | Node.js cloud application | Node.js + Serverless cloud application deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=node&appName=node) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/dart) | Aqueduct (Dart Server) cloud application | Aqueduct (Dart Server) + Serverless cloud application deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=dart&appName=dart) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/omi-starter) | Omi application | Omi + cloud function + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=omi-starter&appName=omi-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/uni-app-starter) | uni-app application | uni-app + cloud function + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=uni-app-starter&appName=uni-app-starter) | | [](https://gitee.com/TencentCloudBase/cloudbase-templates/tree/gitee/next-ssr) | Next SSR application | Next SSR + server deployment + static website deployment | [](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&tdl_anchor=gitee&tdl_site=0&appUrl=https%3A%2F%2Fgitee.com%2FTencentCloudBase%2Fcloudbase-templates&workDir=next-ssr&appName=next-ssr) | ## Template Cloud Development CloudBase Framework supports template projects and provides template projects in multiple languages and frameworks. You can create an out-of-the-box project with just one command, and integrate the workflow of development, construction, and deployment. The template can be customized freely. You can create a template project in any language and framework according to your needs, and generate your initial project with one click through the template project. The original project can be easily transformed into a cloudbase template project. You only need to create one cloudbaserc.json, fill in the necessary configuration. For more template related introduction, you can click [to go](https://gitee.com/TencentCloudBase/cloudbase-framework/blob/gitee/doc/template.md) ## Plugin Cloud Development CloudBase Framework supports a plug-in mechanism and provides plug-ins for a variety of application frameworks and cloud resources. It only requires very little configuration or even zero configuration to integrate existing applications and cloud development CloudBase Framework framework. The plug-in can handle the process of construction, deployment, development, and debugging of some independent units in the application. For example, the website plug-in can handle units such as static websites, and the node plug-in can handle node applications such as koa and express. Plug-ins can be used in combination. The configuration of the plug-in is written in the cloudbaserc file. Currently, only JSON files are supported, and YAML will be supported in the future. The configuration of the plug-in can be filled in manually or automatically generated. Currently, the front-end framework supports automatic identification and filling of plug-ins. ### Automatic detection and generation plug-in configuration process - `cloudbase init --without-template` generates project configuration· - `cloudbase framework:deploy` automatically detects and generates plug-in configuration files and deploys ### List of currently supported plugins | | Plug-in | The latest version | Plug-in introduction | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-website) | [@cloudbase/framework-plugin-website](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-website) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-website) | One-click deployment of website applications | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-node) | [@cloudbase/framework-plugin-node](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-node) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-node) | One-click deployment of Node applications (supports low-level deployment as functions or serverless cloud applications) | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-nuxt) | [@cloudbase/framework-plugin-nuxt](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-nuxt) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-nuxt) | One-click deployment of Nuxt SSR application | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-function) | [@cloudbase/framework-plugin-function](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-function) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-function) | One-click deployment function resources | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-container) | [@cloudbase/framework-plugin-container](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-container) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-container) | One-click deployment of cloud application container services | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-dart) | [@cloudbase/framework-plugin-dart](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-dart) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-dart) | One-click deployment of Dart cloud applications | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-database) | [@cloudbase/framework-plugin-database](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-database) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-database) | One-click declarative deployment cloud development NoSQL cloud database | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-next) | [@cloudbase/framework-plugin-next](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-next) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-next) | One-click deployment of Next SSR application | | [](https://gitee.com/TencentCloudBase/cloudbase-framework/tree/gitee/packages/framework-plugin-mp) | [@cloudbase/framework-plugin-mp](/TencentCloudBase-cloudbase-framework/packages/framework-plugin-mp) | [](https://www.npmjs.com/package/@cloudbase/framework-plugin-mp) | One-click deployment of Wechat MiniProgram | ## Configuration example For example, a Vue full-stack project, including website front-end and cloud functions You can manually create a `cloudbaserc.json` under the project, fill in the following configuration file, and call `cloudbase framework:deploy` for deployment Or run directly - `cloudbase init --without-template` - `cloudbase framework:deploy` for automatic detection and deployment ```json { "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 } } ] } } } } } ``` For more detailed configuration parameter descriptions, you can view the configuration documentation, click [Go](https://gitee.com/TencentCloudBase/cloudbase-framework/blob/gitee/doc/config.md) ## Overall Structure Cloud Development CloudBase Framework is based on cloud development underlying resources and cloud development resource orchestration management, and it includes CLI tool layer, application framework layer and CI/CD layer as a whole. - The CLI layer is adapted to mainstream application frameworks, can be seamlessly integrated with one click, and provides functions such as development and one-click deployment - The application framework layer provides SDKs and components for different languages and frameworks, while abstracting the underlying cloud resources - The CI/CD layer can implement functions such as cloud deployment, code platform integration, gray release, and upgrade rollback ## Roadmap 🚀 Indicates the function that has been implemented | milestone | status | | -------------------------------------------------------------------------------------------------------------------------- | ------ | | The core functions of the framework support plug-in mechanism and adapt to Cloudbase CLI | 🚀 | | Develop Website plugin to support the deployment of front-end static projects | 🚀 | | Automatic detection of front-end frameworks (mainstream frameworks such as Vue/React) Use Website plugin | 🚀 | | Develop Nuxt plugin to support Nuxt SSR project | 🚀 | | Develop Function plugin to support automatic function deployment | 🚀 | | Develop Node Api Plugin to support one-click deployment of Node applications | 🚀 | | Plug-in supports compiling into SAM description | 🚀 | | Automatically detect Express/ Koa and other mainstream Node frameworks using Node Api Plugin | | | Cloud development full stack framework support | | | Node Api Plugin supports modeling and code generation | | | Combine the CI/CD functions of Github Action, Coding and other platforms | | | Support part of the back-end containerized construction, providing another option for service functional construction | 🚀 | | Develop SAM Plugin to support SAM extension plug-ins, the framework can introduce third-party SAM extensions (such as CMS) | | | Develop Flutter Plugin to support one-click deployment of Flutter's Dart backend | 🚀 | ## Contribution Guide Welcome everyone to participate in the development of CloudBase Framework and contribute Please refer to the development of the contribution of [Development Contribution Guidelines](https://gitee.com/TencentCloudBase/cloudbase-framework/blob/gitee/CONTRIBUTING.md) document ## Changelog Please refer to the [changelog](https://gitee.com/TencentCloudBase/cloudbase-framework/blob/gitee/CHANGELOG.md) file for the version change log of CloudBase Framework ## License For open source agreement documents, please refer to [Apache License 2.0](https://gitee.com/TencentCloudBase/cloudbase-framework/blob/gitee/LICENSE) ## Online Group
Wechat Group
![]() |
QQ Group
![]() |
Booker Zhao 🚇 ⚠️ 💻 🔌 |
Weijia Wang 💻 |
hengechang 💻 🚇 |
Zijie Zhou 💻 🔌 📢 |
erikqin 💻 🚧 💡 |
Hanqin 🐛 |
Zem 💻 |
magenta 📝 💻 |
TIANXIANG LAN 🖋 |
liyuanfeng 💻 |
白宦成 💻 |
易良 💻 |
Sherry Zhang 💻 |
RealyBig 💻 |
Saiya 📢 🐛 |