上云无忧 > 文档中心 > 腾讯云 Serverless 应用中心 - 开发项目
Serverless 应用中心
腾讯云 Serverless 应用中心 - 开发项目

文档简介:
前提条件: 了解 快速部署、 了解 Serverless 应用、 了解 账号和权限配置。 开发流程: 一个项目的开发上线流程大致如下:
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

前提条件

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

开发流程

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

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

环境隔离

在开发项目的每个阶段,我们都需要一个独立运行的环境来对开发的操作进行隔离。
在 serverless.yml 文件中定义 stage,并把 stage 作为参数写入到组件的资源名称中,部署时以 实例名 -{stage}- 应用名 的方式生成资源。这样我们在不同阶段只要定义不同的 stage 就可以生成不同的资源,达到环境隔离的目的。
以 SCF 组件的 serverless.yml 为例:
		
		
# 应用信息
app: myApp
stage: 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 应用
相似文档
  • 概述: 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。Serverless 应用的灰度发布是配置云函数别名的流量规则,针对别名中两个不同版本的云函数进行流量规则配置。Serverless Cloud Framework 支持的两种方式别名配置:默认别名和自定义别名。
  • 操作场景: Serverless Cloud Framework 提供了多个基础资源组件,用户可以通过不同组件的结合使用,快速完成云端资源的创建与部署,本教程将指导您如何使用已有组件,构建您自己的多组件 Serverless 应用模板。
  • 由于云函数限制,目前只支持上传小于50MB的代码包,当您的项目过大时,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。层的具体使用请参考 层管理相关操作。
  • 通过 Serverless Component 快速构建一个 Serverless Web 网站服务后,如果您希望配置自定义域名及支持 HTTPS 的访问,则可以按照本文提供的两种方案快速配置。
  • 本文为您介绍 Serverless Cloud Framework 的几种授权方式以及通过配置子账号权限进行实际操作演示。 前提条件: Serverless Cloud Framework 帮助您将项目快速部署到腾讯云 Serverless 应用中心,因此在部署前,请确认您已经 注册腾讯云账号 并完成 实名认证。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部