前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >持续集成语音、视频和消息传递的 CPaaS

持续集成语音、视频和消息传递的 CPaaS

原创
作者头像
腾龙
发布2022-06-01 15:47:53
6870
发布2022-06-01 15:47:53
举报
文章被收录于专栏:边城码农边城码农

嘿,开发者!好久不见!今天,我将向您介绍VoxEngine CI——一种用于处理Voximplant应用程序、场景和规则的新工具。

即使您还没有 Voximplant 帐户,我希望您阅读起来也会很有趣。特别是,如果您是持续集成的粉丝 :)

VoxEngine CI 旨在帮助您在后台使用@voximplant/apiclient-nodejs从您自己的环境中管理 Voximplant 应用程序、规则和场景。有了它,您可以切换到本地开发并使用您喜欢的工具和版本控制系统。如果您已经拥有这些收藏夹,最好通过 VoxEngine CI 将它们与 Voximplant 连接起来。

我们还为 GitLab 和 GitHub 准备了CI/CD 模板。他们将帮助您设置将代码上传到 Voximplant 平台的流程。

那么让我们开始吧!

先决条件 Voximplant 账户,您可以在这里创建一个 服务帐号(我们将一起创建) 节点.js >= 11 快乐心情(可选,任何心情都欢迎) 在这里,我假设您自己在主页上创建了一个 Voximplant 帐户,并准备进入第二步。

稍后或现在,您还可以查看一个小教程,展示如何创建 Voximplant 云应用程序,以了解 Voximplant 是什么。

创建服务帐号 要使用 Voxengine CI,您需要一个带有您的凭据的 JSON 文件。转到 Voximplant 控制面板的服务帐户部分并在那里生成文件。选择 Developer 角色,它最适合此目的。

配置 CI 要安装 Voxengine CI,请在终端的项目文件夹中运行以下命令(如果还没有项目,请先创建项目): 要安装 Voxengine CI,请在终端的项目文件夹中运行以下命令(如果还没有项目,请先创建项目): npm i @voximplant/voxengine-ci

在项目根目录中创建一个 .env 文件并添加特定于环境的变量,以指定 JSON 文件的名称和位置以及您的帐户凭据以及将在下一步中从您的帐户下载的文件的文件夹: VOX_CI_CREDENTIALS=/path/to/the/vox_ci_credentials.json VOX_CI_ROOT_PATH=/path/to/the/voxengine_ci_source_files_directory 初始化项目。此命令从您的 VoxImplant 帐户下载所有文件和元数据。下载完所有文件后,您可以对其进行修改并将其上传回平台。 npx voxengine-ci init

使用 CI 创建应用程序、场景和规则 您的帐户中是否已经有一些应用程序、场景和规则并不重要。您可以使用 VoxEngine CI 创建或修改它们。

在使用 Voxengine CI 时,请不要重命名或删除现有的应用程序、场景和规则,只需创建新的,否则会影响一致性。 如果您仍然需要重命名或删除某些内容,请从平台执行并在npx voxengine-ci init --force此之后运行,以使您的本地和远程(平台)版本保持一致。

应用 这里需要在/path/to/the/voxengine_ci_source_files_directory/applications/your-application-name.your-account-name.voximplant.com/目录下创建一个application.config.json文件(账户名就是你的Voximplant用户名) ,其中/path/to/the/voxengine_ci_source_files_directory是使用命令创建的。 这是默认的 voxfiles 文件夹或您在VOX_CI_ROOT_PATH 环境变量中指定的路径。npx voxengine-ci init

然后,将以下配置添加到application.config.json文件中: {

代码语言:javascript
复制
"applicationName": "your-application-name.your-account-name.voximplant.com"

} 图片说明

恭喜!您的第一个应用程序已准备就绪!

规则和场景 在同一目录中,使用此配置创建一个rules.config.json文件,例如:

[ {

代码语言:javascript
复制
  "ruleName":"first-rule",
  "scenarios":[
     "first-scenario"
  ],
  "rulePattern":"string-with-regexp"

}, {

代码语言:javascript
复制
  "ruleName":"second-rule",
  "scenarios":[
     "second-scenario"
  ],
  "rulePattern":"string-with-regexp"

} ] 这里的first-rule和second-rule是您的规则的名称;first-scenario和second-scenario是您的场景的名称;string-with-regexp 是一个正则表达式,用于验证入站呼叫中的呼叫者 ID(默认为“.*”)。

根据需要创建尽可能多的规则和场景。但请注意,附加到此文件中一个规则的场景的顺序定义了它们的执行顺序。在编写场景代码时请记住这一点。

以下是此类文件的示例:

如果您的应用还没有任何规则,请将 JSON 文件留空 {}。

您只能在/voxfiles/scenarios/src目录中修改现有场景并创建新场景。只有在rules.config.json中指定名称的场景才会上传到平台。场景文件名必须与 *.voxengine.{js,ts} 模式匹配。

在我们的例子中,场景名称应如下所示:testsceanrio1.voxengine.js、testscenario2.voxengine.js。这些是您编写场景代码的文件。

一切准备就绪后,运行 npx voxengine-ci upload --application-name your-application-name

将具有所有规则和场景的新应用程序上传到平台。

使用--dry-run此命令中的标志在本地构建项目,而无需将更改上传到平台,如下所示:npx voxengine-ci upload --application-name your-application-name --dry-run

现在您可以在平台上找到新创建的应用程序、规则和场景:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档