有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

该任务指导您通过 Serverless Cloud Framework,在腾讯云上快速创建、配置和部署一个 Web 框架应用。

前提条件

说明
如果您的账号为腾讯云子账号,请先联系主账号,参考 账号和权限配置 进行授权。

操作步骤

快速部署

空文件夹目录下,执行如下指令:
serverless-cloud-framework
接下来按照交互提示,完成项目初始化,应用请选择您希望部署的应用框架模板(此处以 Express 为例):
serverless-cloud-framework: 当前未检测到 Serverless 项目,是否希望新建一个项目? Yes
serverless-cloud-framework: 请选择您希望创建的 Serverless 应用 express-starter

eggjs-starter - Egg.js 项目模版
❯ express-starter - Express.js 项目模版
flask-starter - Flask 项目模版
fullstack - 快速部署一个 Full Stack 应用, vuejs + express + postgres
koa-starter - Koa.js 项目模版
laravel-starter - Laravel 项目模版
nextjs-starter - nextjs 函数项目模版

serverless-cloud-framework: 请输入项目名称 demo
serverless-cloud-framework: 正在安装 express-starter 应用...


express-starter › Created


demo 项目已成功创建!
选择立即部署,将已经初始化好的项目快速部署腾讯云平台:
Serverless: 是否希望立即将该项目部署到云端? Yes

xxxxxxxx
x QR x
x CODE x
xxxxxxxx
请使用微信扫描上方二维码或者点击下方链接登录
https://slslogin.qcloud.com/********
腾讯云 登录成功!

serverless-cloud-framework
Action: "deploy" - Stage: "dev" - App: "demo" - Name: "expressDemo"

apigw:
apiList:
-
apiId: api-********
apiName: http_api
authType: NONE
businessType: NORMAL
created: true
isBase64Encoded: false
method: ANY
path: /
created: true
environment: release
id: service-********
subDomain: service-********.gz.apigw.tencentcs.com
url: https://service-********.gz.apigw.tencentcs.com/release/
faas:
name: expressDemo
namespace: default
runtime: Nodejs12.16
type: web
region: ap-guangzhou
sourceCodeDownloadUrl: https://sls-app-code-prod-**********.cos.ap-guangzhou.myqcloud.com/***
应用控制台: https://serverless.cloud.tencent.com/apps/demo/expressDemo/dev

32s »expressDemo» 执行成功
部署完毕后,单击命令行输出的 API 网关链接,即可快速访问已部署好的 Web 框架应用。

查看部署信息

如果希望再次查看应用的部署状态和资源,可以进入到部署成功的文件夹,运行如下命令,查看对应信息:
cd demo #进入项目目录,此处请改为您的项目目录名称
scf info
说明
serverless-cloud-framework 命令的简写为 scf

查看目录结构

在初始化的项目目录下,可以看到一个 Express 项目的最基本结构:
.
├── serverless.yml # 配置文件
├—— index.js # 入口函数
├—— package.json # 项目依赖
└── .env # 环境变量文件
serverless.yml 配置文件实现了函数基本信息的快速配置,函数控制台支持的配置项都支持在 yml 文件里配置(查看 云函数的全量配置信息)。
index.js 为项目的入口函数,此处为 helloworld 模板。
package 为项目依赖文件,记录了该 Node.js 框架项目需要安装的依赖包。
.env 文件里存放了用户登录的鉴权信息,您也可以在里面配置其它环境变量。

重新部署

在本地项目目录下,您可以对函数模板项目内容与配置文件进行修改,重新安装依赖后,通过以下指令进行重新部署:
npm install && scf deploy
说明
如需查看移除过程中的详细信息,可以在 scf deploy 后增加 --debug 参数进行查看。

持续开发

部署完成后,登录 Serverless 应用控制台,查看项目部署后输出的基本信息、项目请求次数、项目报错统计等多项监控指标,并实现项目持续开发与部署。详情请参考 控制台开发文档。 Serverless Cloud Framework 支持通过不同指令,帮助您完成项目的持续开发部署、灰度发布等能力,您也可以结合自定义域名等其它高级能力一起使用,实现应用的高级能力配置。

常见问题

问题1:输入 scf 时没有默认弹出中文引导。
解决方案: 在 .env 文件中增加配置 SERVERLESS_PLATFORM_VENDOR=tencent 即可。
问题2:在境外网络环境,输入 scf deploy 后部署十分缓慢。
解决方案:在 .env 文件中增加配置 GLOBAL_ACCELERATOR_NA=true 则开启境外加速 。
问题3:输入 scf deploy 后部署报网络错误。
解决方案:在 .env 文件中增加以下代理配置。
HTTP_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口
HTTPS_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口