一、前提条件
已经 注册腾讯云账号 并完成 实名认证。
注意:如果你的账号为腾讯云子账号,请先联系主账号,参考 账号和权限配置 进行授权。
二、快速部署
在空文件夹目录下,执行如下指令:
serverless-cloud-framework
接下来按照交互提示,完成项目初始化,应用请选择你希望部署的应用框架模板(此处以 Express 为例):
serverless-cloud-framework: 当前未检测到 Serverless 项目,是否希望新建一个项目? Yesserverless-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: 请输入项目名称 demoserverless-cloud-framework: 正在安装 express-starter 应用…express-starter › Createddemo 项目已成功创建!
选择立即部署,将已经初始化好的项目快速部署到腾讯云平台:
Serverless: 是否希望立即将该项目部署到云端? Yesxxxxxxxxx QR xx CODE xxxxxxxxx请使用微信扫描上方二维码或者点击下方链接登录https://slslogin.qcloud.com/********腾讯云 登录成功!serverless-cloud-frameworkAction: "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: webregion: ap-guangzhousourceCodeDownloadUrl: https://sls-app-code-prod-**********.cos.ap-guangzhou.myqcloud.com/***应用控制台: https://serverless.cloud.tencent.com/apps/demo/expressDemo/dev32s »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 应用控制台,查看项目部署后输出的基本信息 ,并实现项目持续开发与部署。详情请参考 控制台开发指南。函数级调用次数、错误次数等监控指标说明见 SCF 监控指标说明。
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'替换为你的代理端口