如何在单独的测试环境中开发新版Google操作,而我已经拥有一个面向用户的版本?
我的Google操作系统使用api.ai,它具有Firebase功能,可以实现。
我是否需要创建一个指向不同Firebase功能的新api.ai代理?有更简单的方法吗?
答案 0 :(得分:5)
不幸的是,这并不是一个简单的解决方案。使用API.AI和Actions进行版本控制存在一些问题。首先,您在API.AI中做出的一些更改可能会立即反映在系统中 ,但其他人不会,但并不完全清楚哪个是哪个。第二个问题是,一旦您准备好发送并经过审批流程,一些用户会看到您的旧版本,有些用户会在一段时间内看到新版本。
为了解决这个问题,我会在版本上线后使用此过程:
为下一个版本创建一个新的Firebase和API.AI项目。
从旧项目导出API.AI Zip文件并将其导入新项目。 (虽然我在这里,我把它的内容放到版本控制中。)
将Firebase部署目标更改为新版本。
将API.AI履行网址更改为新网址。
然后,您将在此新环境中开发和测试新版本。当您准备好对其进行审核以进行发布时,请指定此环境。一旦它完全上线并且您在旧环境中没有流量,您可以退出那个 - 您永远不会重复使用它。
答案 1 :(得分:2)
这就是我的所作所为:
我没有创建单独的api.ai代理,我有2台服务器,一台用于生产,一台用于测试。每当我进行更改时,我都会将其部署到我的测试服务器并将我的实现更新到测试服务器URL。然后我从草稿版本中测试这些更改。
我认为在您的情况下,您可能想要创建一个新功能并将您的api.ai代理指向新功能。并在那里进行所有测试。
我不确定它是否是最佳解决方案,但它可以实现我想要的效果:)