tencent cloud

文档反馈

部署应用

最后更新时间:2021-01-15 15:30:53

    操作场景

    完成本地项目开发后,您可以快速部署应用、查看部署信息并进行函数调试。

    前提条件

    已完成本地项目开发(参考 项目开发)。

    操作步骤

    快速部署

    您可以通过 Serverless Framework,快速将项目部署到云端,具体操作如下:

    sls deploy

    输入该指令后,Serverless Framework CLI 将会为您完成以下操作:

    1. 扫码授权

    通过扫描二维码,完成一键授权,授权后 CLI 工具会将生成临时密钥信息写入当前目录下的 .env 文件里,临时密钥的有效时间 2 小时,失效后,部署的时候会引导您重新扫码鉴权。

    如果不想重复扫码,您也可以将永久密钥配置在项目目录下的 .env 文件中:

    # .env
    TENCENT_SECRET_ID=xxxxxxxxxx #您账号的 SecretId
    TENCENT_SECRET_KEY=xxxxxxxx #您账号的 SecretKey

    SecretId 和 SecretKey可以在 API 密钥管理 中获取 。

    2. 打包上传

    完成授权后,Serverless Framework CLI 会根据您在 serverless.yml 文件中配置的项目代码路径,自动为您进行项目的打包与上传。

    3. 云端部署

    上传后的项目,会根据您在 yml 文件中进行的参数配置,完成云上资源的创建,部署完成后,命令行会输出部署后的资源信息。

    高级能力

    • 查看部署过程中的具体日志信息:

      sls deploy --debug
    • 多版本部署时,切换指定流量到 $latest 函数版本,其余流量到最后一次发的函数版本上,实现灰度发布。

      sls deploy --inputs traffic=0.1 public=true
    • 应用目录下含有多个 Serverless 实例,只需要更新指定项目:

      sls deploy --target xxx

      例如:在该项目根目录下,通过指令 sls deploy --target ./cos,仅更新 cos 实例,其它实例不受影响

      .
      ├── src
      │   ├── serverless.yml 
      │   └── index1.js 
      ├── cos
      │   └── serverless.yml 
      ├── db
      │   └── serverless.yml 
      └── .env 

    查看部署信息

    完成部署后,通过以下指令,查看项目的部署信息:

    sls info

    函数调试

    说明:

    当前该指令只支持通过 Serverless Framework 云函数组件 部署的函数项目,其它组件的支持也在计划中。

    Serverless Framework 云函数组件支持通过 invoke 命令触发云函数进行调试。对于sls deploy部署成功的云函数,进入对应函数的项目目录下,执行函数调用命令,即可完成云上函数资源的远程调试,调试结果会在命令行进行输出:

    sls invoke  --inputs function=functionName  clientContext='{"weights":{"2":0.1}}'
    • invoke命令必须在该函数部署的 serverless.yml 文件同目录下执行。
    • clientContext为触发函数时传递的 json 字符串。可以根据 触发事件模板 的 json 字符串格式模拟不同触发事件。

    常见问题

    如您的环境配置了代理,可能会出现以下问题:

    • 问题1:输入 serverless 时没有默认弹出中文引导。
      解决方案: 请确认您的 IP 在中国大陆区域,并在 .env 文件中增加配置 SERVERLESS_PLATFORM_VENDOR=tencent 即可。

    • 问题2:输入 sls deploy 后部署报网络错误。
      解决方案:在 .env 文件中增加以下代理配置。

      HTTP_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口
      HTTPS_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持