Serverless Framework Tencent Cloud Plugin

简介

静态网站应用调用了基础的腾讯云 COS 组件,可以快速部署静态网站页面到对象存储 COS 中,并生成域名供访问。

快速开始

操作步骤如下:

1. 安装

通过 npm 安装 serverless

  1. $ npm install -g serverless

2. 创建

本地创建 my-website 文件夹

  1. $ mkdir my-website
  2. $ cd my-website

在文件夹中创建对应的 serverless.yml 文件,并将静态页面放在code目录下,文件目录结构如下:

  1. $ touch serverless.yml
  1. |- code
  2. |- index.html
  3. |- serverless.yml

code目录下应该对应 HTML/CSS/JS 资源的文件,或者一个完整的 React 应用。下载 示例 HTML,将以下代码放在 index.html 文件中:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Hello, Tencent Cloud</title>
  6. </head>
  7. <body>
  8. Hello, Tencent Cloud
  9. </body>
  10. </html>

3. 配置

serverless.yml 文件中进行如下配置

  1. # serverless.yml
  2. myWebsite:
  3. component: '@serverless/tencent-website'
  4. inputs:
  5. code:
  6. src: ./code
  7. index: index.html
  8. error: index.html
  9. region: ap-guangzhou
  10. bucketName: my-bucket

4. 部署

如您的账号未登陆注册腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登陆和注册。

通过sls命令进行部署,并可以添加—debug参数查看部署过程中的信息

  1. $ sls --debug
  2. DEBUG Resolving the template's static variables.
  3. DEBUG ─ Collecting components from the template.
  4. DEBUG ─ Downloading any NPM components found in the template.
  5. DEBUG ─ Analyzing the template's components dependencies.
  6. DEBUG Creating the template's components graph.
  7. DEBUG ─ Syncing template state.
  8. DEBUG ─ Executing the template's components graph.
  9. DEBUG Starting Website Component.
  10. DEBUG Preparing website Tencent COS bucket my-bucket-1300415943.
  11. DEBUG Deploying "my-bucket-1300415943" bucket in the "ap-guangzhou" region.
  12. DEBUG "my-bucket-1300415943" bucket was successfully deployed to the "ap-guangzhou" region.
  13. DEBUG Setting ACL for "my-bucket-1300415943" bucket in the "ap-guangzhou" region.
  14. DEBUG Ensuring no CORS are set for "my-bucket-1300415943" bucket in the "ap-guangzhou" region.
  15. DEBUG Ensuring no Tags are set for "my-bucket-1300415943" bucket in the "ap-guangzhou" region.
  16. DEBUG Configuring bucket my-bucket-1300415943 for website hosting.
  17. DEBUG Uploading website files from /Users/dfounderliu/Desktop/temp/code/src to bucket my-bucket-1300415943.
  18. DEBUG Starting upload to bucket my-bucket-1300415943 in region ap-guangzhou
  19. DEBUG Uploading directory /Users/dfounderliu/Desktop/temp/code/src to bucket my-bucket-1300415943
  20. DEBUG Website deployed successfully to URL: https://my-bucket-1300415943.cos-website.ap-guangzhou.myqcloud.com.
  21. myWebsite:
  22. url: https://my-bucket-1300415943.cos-website.ap-guangzhou.myqcloud.com
  23. env:
  24. 2s myWebsite done

5. 移除

通过以下命令移除项目

  1. $ sls remove --debug
  2. DEBUG Flushing template state and removing all components.
  3. DEBUG Starting Website Removal.
  4. DEBUG Removing Website bucket.
  5. DEBUG Removing files from the "my-bucket-1300415943" bucket.
  6. DEBUG Removing "my-bucket-1300415943" bucket from the "ap-guangzhou" region.
  7. DEBUG "my-bucket-1300415943" bucket was successfully removed from the "ap-guangzhou" region.
  8. DEBUG Finished Website Removal.
  9. 3s myWebsite done

账号配置(可选)

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/秘钥信息,也可以本地创建 .env 文件

  1. $ touch .env # 腾讯云的配置信息

.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存

如果没有腾讯云账号,可以在此注册新账号

如果已有腾讯云账号,可以在API 密钥管理中获取 SecretIdSecretKey.

  1. # .env
  2. TENCENT_SECRET_ID=123
  3. TENCENT_SECRET_KEY=123

还支持哪些组件?

可以在 Serverless Components 中查询更多组件的信息。