详情页标题前

腾讯云Serverless应用中心开发项目-同尘科技

详情页1

前提条件

了解 快速部署了解 Serverless 应用了解 账号和权限配置

开发流程

一个项目的开发上线流程大致如下:

腾讯云Serverless应用中心开发项目-同尘科技

初始化项目:将项目进行初始化。例如选择一些开发框架和模板完成基本的搭建工作。开发阶段:对产品功能进行研发。可能涉及到多个开发者协作,开发者拉取不同的 feature 分支,开发并测试自己负责的功能模块;最后合并到 dev 分支,联调各个功能模块。测试阶段:测试人员对产品功能进行测试。发布上线:对于已完成测试的产品功能发布上线。由于新上线的版本可能有不稳定的风险,所以一般会进行灰度发布,通过配置一些规则监控新版本的稳定性,等到版本稳定后,流量全部切换到新版本。

环境隔离

在开发项目的每个阶段,我们都需要一个独立运行的环境来对开发的操作进行隔离。在 serverless.yml 文件中定义 stage,并把 stage 作为参数写入到组件的资源名称中,部署时以 实例名 -{stage}- 应用名 的方式生成资源。这样我们在不同阶段只要定义不同的 stage 就可以生成不同的资源,达到环境隔离的目的。以 SCF 组件的 serverless.yml 为例:

# 应用信息app: myAppstage: dev # app环境名称,默认为dev

# 组件信息component: scf name: scfdemo 
# 组件参数inputs: name: ${name}-${stage}-${app} #函数名称,以变量 ${stage} 作为资源名称的一部分 src: ./ handler: index.main_handler runtime: Nodejs10.15 region: ap-guangzhou events: - apigw: parameters: endpoints: - path: / method: GET

云函数 name 定义为 ${name}-${stage}-${app}。开发测试阶段定义 stage 为 dev,部署后云函数为 scfdemo-dev-myApp。上线发布阶段定义 stage 为 pro,部署后云函数为 scfdemo-pro-myApp。不同阶段操作不同的云函数资源,从而达到开发与发布隔离的目的。说明stage 可以直接在 serverless.yml 文件中定义,也可以通过 scf deploy --stage dev 直接传参。

权限管理

在开发项目中,需要对不同的人员进行权限分配和管理。例如对于开发人员,只允许其访问某个项目某个环境下的权限,可以参考 账号和权限配置,授予子账号 Serverless Cloud Framework 特定资源的操作权限。以 myApp 项目 dev 环境为例,配置如下:

{    "version": "2.0",    "statement": [        {            "action": [                "scf:*"            ],            "resource": "qcs::scf:ap-guangzhou::appname/myApp/stagename/dev", #app 为 myApp,stage 为 dev            "effect": "allow"        }    ]}

灰度发布

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式 。为保证线上业务的稳定性,开发上线项目推荐使用灰度发布。Serverless 应用的灰度发布支持两种方式:默认别名自定义别名。更多详情参考 Serverless 灰度发布。

对比项 配置 流量规则设置 适用组件
默认别名 配置简单 只能在最后一次发布的函数版本和 $latest 版本间进行。 云函数组件涉及云函数的相关组件
自定义别名 配置灵活 可以在两个任意函数版本间进行。 云函数组件

Serverless Cloud Framework 命令

开发项目到上线过程中,需要用到一些 serverless-cloud-framework 的相关命令。更多命令请查看 Serverless Cloud Framework 支持命令列表。说明:serverless-cloud-framework 命令的简写为 scf

初始化项目:

scf

下载模板项目 scf-starter,模板支持可通过 scf registry 查询:

scf init scf-starter

下载模板项目 scf-starter,并初始化该项目为 myapp:

scf init scf-starter --name my-app 

部署应用:

scf deploy

部署应用,指定 stage 为 dev:

scf deploy --stage  dev

部署应用,并打印部署信息:

scf deploy --debug

部署并发布函数版本:

scf deploy --inputs publish=trues

部署并切换20%流量到 $latest 版本:

scf deploy --inputs traffic=0.2

项目实践

参考 开发上线 Serverless 应用。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/148990.html

(0)
上一篇 2023年12月9日 下午1:11
下一篇 2023年12月9日 下午1:11
详情页2

相关推荐

  • 腾讯云对象存储获取动作顺序

    简介 本文档提供关于获取动作顺序的相关 API 概览以及 SDK 示例代码。 API 操作描述 获取动作顺序 使用动作活体检测模式前,需调用本接口获取动作顺序。 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参考 SDK API。 获取动作顺序 功能说明 使用动作活体检测模式前,需调用本接口获取动作顺序。说明:COS iOS SDK 版本…

    腾讯云 2023年12月9日
  • 腾讯云容器服务在 TKE 上部署 Nginx Ingress同尘科技

    概述 Nginx Ingress 功能强大且性能极高,有多种部署方式。本文将介绍 Nginx Ingress 在腾讯云容器服务(Tencent Kubernetes Engine,TKE)上 Deployment + LB、Daemonset + HostNetwork + LB 和 Deployment + LB 直通 Pod 三种部署方案及其部署方法。 …

    2023年12月9日
  • 阿里云容器服务ACK安装SDK-云淘科技

    本文介绍安装容器服务SDK。 步骤一:安装Tea-console 调试SDK示例前需要安装Tea-console,安装方式如下: Java SDK 通过Maven进行安装,请在项目文件中加入以下依赖: com.aliyun tea-console 0.0.1 Python SDK 推荐使用PyPI进行安装,执行以下命令: pip install alibab…

    阿里云容器服务 2023年12月10日
  • 腾讯云云点播关于云点播部分 API 2.0升级至3.0版本的公告

    云点播 API 于北京时间2021年05月01日全面升级至3.0版本。基于2.0版本接口访问时延较高和使用复杂的考虑,原云点播 VOD 的 API 2.0 接口服务将不再提供技术支持,并将于 北京时间2022年11月30日 起下线。如果您的业务还在使用云点播 VOD 的 API 2.0 相关接口,建议尽快将服务升级至云点播 API 3.0 接口,以免对您的业…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储静态网站

    简介 本文档提供关于静态网站的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket website 设置静态网站 设置存储桶的静态网站配置 GET Bucket website 查询静态网站配置 查询存储桶的静态网站配置 DELETE Bucket website 删除静态网站配置 删除存储桶的静态网站配置 设置静态网站 功…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。