cloudstudio
Version:
Run VS Code on a remote server.
144 lines (102 loc) • 7.93 kB
Markdown
# 部署插件简介
DeployKit 是一款运行于云端 IDE 的部署插件,支持多种框架一键部署至腾讯云。便于帮助开发者快速部署项目到腾讯云,避免了部署过程中开发者需要深入了解部署细节的问题,使得开发者专注于业务代码逻辑的实现即可。
目前支持两种部署方式,分别为 COS 静态网站资源部署(适用于大部分的前端项目)和 TKE 容器化部署(适用于所有项目)。开发者可自行根据不同需求来配置 `deploy.yml` 文件来指定不同的部署方式及部署配置。 云端 IDE 提供的常用模板项目已有部分默认提供了可直接部署的 deploy.yml 配置文件,欢迎体验使用。
### 云端 IDE 已默认附带 deploy.yml 配置的模板项目列表
> * React(create-react-app)
> * React(UmiJS)
> * Vue(vue-cli-service)
> * Vite
> * Angular
> * Svelte
> * Preact
> * Ember
其他还未默认附带 deploy.yml 配置的模板项目暂时无法直接部署,目前需要开发者根据文档自行配置后方可部署,后续将会进一步支持和优化,敬请期待。
## 部署插件使用前的准备
部署到腾讯云需要 `已实名认证` 的腾讯云账号。如果没有腾讯云账号,需[注册账号](https://cloud.tencent.com/register)。
## 使用说明
### 打开部署页面
- 单击左侧菜单栏 **“火箭”** 图标,打开部署插件页面,插件会根据项目内置的 **deploy.yml** 来显示当前可部署的配置信息,点击 `立即部署` 即可进入部署状态。


### 成功部署
- 部署进程完成后,点击 **“访问”** 即可打开外部链接访问部署成功后的内容。

### 切换部署环境
- 点击部署页面右上角的 **“环境”** 图标,即可切换所需部署的环境。

### 刷新部署信息或配置信息
- 点击部署页面右上角的 **“刷新”** 图标,即可刷新部署信息或最新的 deploy.yml 配置信息。

### 自定义部署环境及配置
- 打开项目内 `deploy.yml` 文件,按照规范修改环境部署配置、构建步骤、构建产物目录等。其中 **action** 项内容为内置操作,不可修改。

## deploy.yml 全部配置解析
```yml
# deploy.yml
project: react-helloworld # 必填,项目名称
environments: # 必填,不同环境下的配置
dev: # 必填,环境名称
description: 开发环境 # 必填,环境名称描述,可与环境名称相同
services: # 必填,项目下需要部署的服务项
website: # 必填,服务名称
version: 0.0.1 # 必填,版本号
runtime: tcloud-cos # 必填,部署运行方式,目前提供了 tcloud-cos 和 tcloud-tke 两种部署方式。常规前端项目推荐以 COS 静态网站资源部署方式访问,则选用 tcloud-cos;其他较为复杂的项目部署推荐选用 tcloud-tke 方式。
jobs: # 必填,部署过程需要执行的操作项
build: # 可选,构建项目,用于部署前的准备工作
steps: # 执行的各项步骤
- run: yarn install # 运行的命令
- run: yarn build
- action: tcloud-actions/deploykit-cos-package-task@v1 # 执行 COS 部署方式的打包任务,不可自定义
with: # 执行任务时的附加变量
dist: ./build/ # 指定构建产物的目录
deploy: # 必填,部署时需要执行的操作项
needs: build # 可选,指定执行该项的前提操作项,以便按指定顺序执行任务
steps: # 执行的各项步骤
- action: tcloud-actions/deploykit-cos-deploy-task@v1 # 执行 COS 部署方式的部署任务,不可自定义
# 多服务的不同部署方式
kafka:
version: 0.0.1
runtime: tcloud-tke
jobs:
deploy:
steps:
- action: tcloud-actions/deploykit-tke-helm-deploy-task@v1 # 指定 TKE 部署方式的部署任务,不可自定义
with:
name: kafka # 必填,实例名称
chart: ./kafka/kafka-17.1.0.tgz # 必填,指定 helm chart 路径
values: ./kafka/values.yml # 可选,使用 values 替换 helm chart 里的值
worker:
version: 0.0.1
runtime: tcloud-tke
jobs:
deploy:
steps:
- action: tcloud-actions/deploykit-tke-helm-deploy-task@v1
with:
name: worker
chart: ./worker/chart
dockerfile: ./worker/Dockerfile # 可选,指定 docker file 的路径
dockerContext: ./worker # 可选,指定 docker context 的路径
```
配置详细解析:
| 参数名称 | 必选 | 类型 | 默认值 | 描述 |
| -------------- | :--: | :------------------------ | :-------------: | :---------------- |
| project | 是 | string | 无 | 项目名称 |
| environments | 是 | object | 无 | 不同环境的部署配置 |
| description | 是 | string | 无 | 环境名称及描述 |
| services | 是 | object | 无 | 部署的各项服务 |
| version | 是 | string | 无 | 指定部署服务的版本号 |
| runtime | 是 | string | 无 | 部署运行方式,目前提供了 tcloud-cos 和 tcloud-tke 两种部署方式。常规前端项目推荐以 COS 静态网站资源部署方式访问,则选用 tcloud-cos;其他较为复杂的项目部署推荐选用 tcloud-tke 方式。以下简称为 COS 和 TKE 部署方式。 |
| jobs | 是 | object | 无 | 部署过程需要执行的操作项 |
| need | 否 | string | 无 | 指定执行该项的前提操作项,以便按指定顺序执行任务 |
| steps | 是 | object[] | 无 | 执行部署操作项的各项步骤 |
| action | 是 | string | 无 | 不同部署方式和步骤所的任务,不可自定义。可选项请参考示例。 |
| with | 否 | string | 无 | 执行任务时的附加操作与变量 |
| dist | 否 | string | 无 | 指定构建产物的目录(指定部署方式为 COS 时生效) |
| name | 否 | string | 无 | 部署实例的名称(指定部署方式为 TKE 时生效,且为必填) |
| chart | 否 | string | 无 | 指定 helm chart 路径(指定部署方式为 TKE 时生效,且为必填) |
| values | 否 | string | 无 | 使用 values.yml 替换 helm chart 里的值(指定部署方式为 TKE 时生效) |
| dockerfile | 否 | string | 无 | 指定 docker file 的路径(指定部署方式为 TKE 时生效) |
| dockerContext | 否 | string | 无 | 指定 docker context 的路径(指定部署方式为 TKE 时生效) |
## 部署插件常见问题处理
当无法成功进行一键部署的时候,并且排除不是账号或平台限制所导致的,可根据终端 `输出` 的内容进行排查。