25 Star 91 Fork 14

腾讯云云开发/cloudbase-framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Tencent CloudBase Framework Container Plugin

Tencent CloudBase Framework Container Plugin

Github License Npm version issue PRs Welcome star

云开发 CloudBase Framework 框架「Container」插件: 通过云开发 CloudBase Framework 框架将项目应用一键部署到云开发的云托管环境,提供生产环境可用的自动弹性伸缩的高性能的容器计算服务。可以搭配其他插件如 Website 插件、Node 插件实现云端一体开发。

功能特性

  • 节约成本: 资源伸缩,弹性扩缩容,灵活计费,极大节约资源成本
  • 极简配置:自动检测框架,无须配置
  • 语言支持和框架支持广泛
    • Node.JS
    • PHP
    • Java
    • Go
    • Dart
    • Deno

使用方法

步骤一. 准备工作

具体步骤请参照 准备云开发环境和 CloudBase CLI 命令工具

步骤二. 进入项目目录进行初始化

如果是目前已有的后端应用项目

cloudbase

如果想全新开始一个项目,可以直接执行 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 插件列表 搭配使用其他插件

文档资料

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/TencentCloudBase/cloudbase-framework.git
git@gitee.com:TencentCloudBase/cloudbase-framework.git
TencentCloudBase
cloudbase-framework
cloudbase-framework
gitee

搜索帮助