
Tencent CloudBase Framework Container Plugin

云开发 CloudBase Framework 框架「Container」插件: 通过云开发 CloudBase Framework 框架将项目应用一键部署到云开发的云应用环境,提供生产环境可用的自动弹性伸缩的高性能的容器计算服务。可以搭配其他插件如 Website 插件、Node 插件实现云端一体开发。
功能特性
- 节约成本: 资源伸缩,弹性扩缩容,灵活计费,极大节约资源成本
- 极简配置:自动检测框架,无须配置
- 语言支持和框架支持广泛
Node.JS
PHP
Java
Go
Dart
Deno
使用方法
步骤一. 准备工作
具体步骤请参照 准备云开发环境和 CloudBase CLI 命令工具
步骤二. 进入项目目录进行初始化
如果是目前已有的后端应用项目
cloudbase init --without-template
如果想全新开始一个项目,可以直接执行 init 来从模板开始一个项目
cloudbase init
步骤三. 一键部署
cloudbase framework:deploy
配置
默认情况下不需要任何配置即可使用,以下配置参数针对有特殊需求的场景
配置示例
cloudbase init 之后会创建云开发的配置文件 cloudbaserc.json,可在配置文件的 plugins 里修改和写入插件配置
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "node-api",
"servicePath": "/node-api",
"localPath": "./"
}
}
}
}
}
配置参数说明
uploadType
选填,容器镜像代码来源类别,支持package|image|repository3 种,分别代表本地代码包、镜像地址和 git 仓库地址。默认是package, 选择image时需要填写 imageInfo, 选择 repository 需要填写codeDetail
serviceName
必填,服务名,字符串格式,如 node-api
servicePath
必填,服务路径配置, 字符串格式, 如 /node-api
localPath
选填,本地代码文件夹相对于项目根目录的路径,默认值 ./
localAbsolutePath
选填,本地代码文件夹的绝对路径
version
选填,版本名,默认值 1.0.0
isPublic
选填,是否对外网开放访问,默认值 true
flowRatio
选填,流量占比(0-100),默认值 100
cpu
选填,CPU 的大小,1-128, 单位:核,默认值 1
mem
选填,Mem 的大小,1-128, 单位:G,默认值 1
minNum
选填,最小副本数, 1-50,默认值 1
maxNum
选填,最大副本数,1-50,默认值 10
policyType
选填,策略类型(cpu),默认值 cpu
policyThreshold
选填,策略阈值,1-100, 默认值 60
containerPort
选填,服务端口,默认值 80
dockerfilePath
选填,Dockerfile 的路径,默认值 ./Dockerfile
buildDir
选填,构建目录,默认值 ./
envVariables
选填,环境变量键值对,会被注入到云应用的运行时环境变量中
imageInfo
uploadType 填写为 image时需要填写 imageInfo,类型是对象格式
| imageUrl | String | 1-512 | 是 | 镜像拉取地址 |
imageUrl 格式为 [registry-url]/[namespace]/[image]:[tag],支持腾讯云 ccr.ccs.tencentyun.com 上的镜像地址,也支持 dockerhub 公开的镜像,如 nginx:latest
例如
{
"envId": "{{envId}}",
"framework": {
"name": "capp-example",
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "node-api",
"servicePath": "/node-api",
"localPath": "./",
"uploadType": "image",
"imageInfo": {
"imageUrl": "ccr.ccs.tencentyun.com/tcb-100010952056-rjdt/webpage_node-api:node-api-001-1597238358"
}
}
}
}
}
}
codeDetail
uploadType 填写为 repository 时需要填写codeDetail,类型是对象格式
| name | CodeRepoName 对象 | 1-512 | 否 | repo 的名字 |
| url | String | 1-512 | 否 | repo 的 url |
例如
{
"envId": "{{envId}}",
"framework": {
"name": "capp-example",
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "deno",
"servicePath": "/deno",
"localPath": "./",
"uploadType": "repository",
"codeDetail": {
"name": "deno-docker",
"url": "https://github.com/TabSpace/deno-docker"
}
}
}
}
}
}
更多插件
请访问 CloudBase Framework 插件列表 搭配使用其他插件
文档资料