详情页标题前

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

详情页1

操作场景

本文以 tencent-express 组件部署一个 Express 网站为例, 模拟 Serverless Cloud Framework 开发项目、管理项目和部署发布上线全流程。示例链接 >>开发项目过程可能会涉及以下分支:

分支类型 说明
master 用于生产环境部署
testing 用于测试环境测试
dev 用于日常开发
feature-xxx 用于增加一个新功能,例如不同开发者会从 dev 拉取不同的特性分支进行开发
hotfix-xxx 用于修复一个紧急 bug

操作步骤

初始化项目

1. 参考 部署 Express.js 应用 文档,创建一个 express 项目,修改 yml 文件为以下内容:

#serverless.yml
app: expressDemoApp # 应用名称,默认为与组件实例名称stage: ${env:STAGE} # 用于开发环境的隔离,默认为dev

component: express # (必填) 引用 component 的名称,当前用到的是 express-tencent 组件name: expressDemo # (必填) 组件创建的实例名称
inputs: src: src: ./ exclude: - .env region: ap-guangzhou runtime: Nodejs10.15 functionName: ${name}-${stage}-${app} #云函数名称 apigatewayConf: protocols: - http - https environment: release

2. 在项目根目录下的 .env 文件中配置:

TENCENT_SECRET_ID=xxxxxxxxxx #您账号的 SecretIdTENCENT_SECRET_KEY=xxxxxxxx #您账号的 SecretKeySTAGE=prod #STAGE为prod环境,也可以scf deploy --stage prod 参数传递的方式设置

3. 执行 scf deploy 部署成功后,访问生成的 url 链接,效果如下:

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


4. 创建远程仓库(示例链接),将项目代码提交到远程 master 分支。同时创建 testing、dev。此时三个分支的代码在同一个版本上(假设为版本0)。

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



开发与测试

背景

现在需要开发某个功能模块。假设需要有两位开发者:Tom、Jorge。两位开发者分别从 dev(版本0)上创建特性分支为 feature1、feature2 进行研发。

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


Tom 开始开发 feature1。在本示例中,为新增一个 feature.html,里面添加文案 “This is a new feature 1.”。

开发

1. 在 scf.js 文件中新增路由器配置:

// Routesapp.get(`/feature`, (req, res) => { res.sendFile(path.join(__dirname, 'feature.html'))})

2. 新增 feature.html:

           Serverless Component - Express.js    

This is a new feature 1.

3. 在 .env 文件中设置自己的 stage,以便在开发过程中得到独立的运行和调试环境。
例如 Tom 在 serverless.yml 的项目目录下配置 .env 如下:

TENCENT_SECRET_ID=xxxxxxxxxxTENCENT_SECRET_KEY=xxxxxxxxSTAGE=feature1

4. 执行 scf deploy 部署成功后,返回显示如下:

region: ap-guangzhouapigw:  serviceId:   service-xxxxxx  subDomain:   service-xxxxxx-123456789.gz.apigw.tencentcs.com  environment: release  url:         https://service-xxxxxx-123456789.gz.apigw.tencentcs.com/release/scf:  functionName: express-demo-feature1  runtime:      Nodejs10.15  namespace:    default  lastVersion:  $LATEST  traffic:      1
Full details: https://serverless.cloud.tencent.com/instances/expressDemoApp%3Afeature1%3AexpressDemo
10s » expressDemo » Success

5. 访问生成的 url(https://service-xxxxxx-123456789.gz.apigw.tencentcs.com/release/feature),效果如下:

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


至此,Tom 开发功能完成并自测通过。假设同时,Jorge 同时也完成自己的特性开发,并自测通过。在本示例中,为新增一个 feature.html,里面添加文案 “This is a new feature 2.”。

联调

1. 两人把各自 feature 分支的代码合并到 dev 分支。(可能会存在冲突需要人为解决)

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


2. 在 dev 进行联调。联调环境中的 .env 配置如下:

TENCENT_SECRET_ID=xxxxxxxxxxTENCENT_SECRET_KEY=xxxxxxxxSTAGE=dev

3. 执行 scf deploy 联调部署后,访问 url(https://service-xxxxxx-123456789.gz.apigw.tencentcs.com/release/feature),效果如下:

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


至此联调完成,整个功能已经开发完毕。

测试

1. 把联调通过的 dev 分支合并到 testing 代码,进入测试。

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

2. 测试环境中的 .env 配置如下:

TENCENT_SECRET_ID=xxxxxxxxxxTENCENT_SECRET_KEY=xxxxxxxxSTAGE=testing

3. 执行 scf deploy 部署成功后,测试人员开始进行相关测试,直至功能稳定通过。

发布上线

测试通过后,将测试代码合并到 master 分支,准备发布上线。

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

设置生产环境中的 .env 为:

TENCENT_SECRET_ID=xxxxxxxxxxTENCENT_SECRET_KEY=xxxxxxxxSTAGE=prod

执行部署命令:

scf deploy 

至此,我们完成了一个 severless-express 项目的开发和上线发布。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

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

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

相关推荐

  • 腾讯云对象存储异步处理任务接口

    简介 本文档提供关于异步处理任务接口的相关的 API 概览以及 SDK 示例代码。注意:需要 COS PHP SDK v2.4.0 及以上版本。旧版本可能存在 bug,使用时建议升级到 最新版本。 API 操作名 操作描述 CreateDocProcessJobs 提交文档预览任务 用于提交一个文档预览任务 DescribeDocProcessJob 查询文…

    腾讯云 2023年12月9日
  • 腾讯云轻量应用服务器安装 Docker 并配置镜像加速源云小二

    操作场景 本文指导您如何在轻量应用服务器上安装 Docker,以及使用 Docker 镜像源加速镜像下载。 操作步骤 在轻量应用服务器中安装 Docker 请根据实例的操作系统类型,参考相应的文档进行安装。 操作系统 说明 TencentOS Server 参见 搭建 Docker 进行安装。 CentOS 参见 Docker 官方文档 – 在 …

    腾讯云 2023年12月9日
  • 腾讯云CVM服务器包年包月实例转按量计费

    操作场景 腾讯云云服务器支持包年包月实例转换为按量计费实例,具体信息请参考下文“转换规则”和“使用限制”。本文介绍如何通过控制台进行转换操作,您可按需灵活使用实例。说明关机状态的包年包月实例转换为按量计费模式后,实例虽然是关机状态,但仍会为您保留,且会继续收费。若您出于成本考虑,可对实例设置“关机不收费”模式,具体操作请参见 按量计费实例关机不收费。若您的包…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云容器服务在 TKE Serverless 上运行深度学习同尘科技

    操作场景 本系列文章将记录在 TKE Serverless 上部署深度学习的一系列实践,从直接部署 TensorFlow 到后续实现 Kubeflow 的部署,旨在提供一个较完整的容器深度学习实践方案。 前提条件 本文将在上一篇文档 构建深度学习容器镜像 基础上继续操作,利用自建集群,在 TKE Serverless 上运行深度学习任务。自建镜像已上传到镜像…

    2023年12月9日
  • 腾讯云容器服务告警历史同尘科技

    操作场景 本文档介绍如何在云原生监控功能服务中查看告警历史。 前提条件 在查看告警历史前,需要完成以下前置操作:已成功创建 Prometheus 监控实例。已将需要监控的集群关联到相应实例中。已将需要采集的信息添加到集群数据采集配置。已配置告警规则。 操作步骤 1. 登录 容器服务控制台,选择左侧导航栏中的 Prometheus 监控。2. 在监控实例列表页…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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