部署与测试

更新时间:

NodeJS 函数计算类型应用

测试插件

通过「应用详情页」-「开发部署」-「在线开发部署」,进入云开发平台 CloudIDE,在侧边栏找到「WB」字样的部署测试插件,打开后可以看到「部署」「测试」两个功能。点「测试」,切换到测试面板测试

如果要对当前 CloudIDE 开发状态的文件进行测试,选择「开发环境」,然后再选择「用户路径」(用户路径就是部署路由,您可以在部署面板的「路由/函数映射表」中编辑修改路由信息,完成后点「保存到文件」就可以将新的路由信息同步到测试面板的「用户路径」了)

选好「用户路径」,勾选「预览模式」,点击「测试」按钮,就可以在右侧看到测试输出的结果,右侧上栏展示的是UI的测试效果,右侧下栏的「输出」展示的是测试日志。

在「输出」栏,可以看到具体的日志信息,比如下图红框框起来的两条信息,一条是提示用户可以在浏览器新窗口打开当前的测试路径查看效果;另一条是当前测试路径具体的错误信息,根据此信息,可以Debug修改代码test6

根据上面的错误提示,我们可以看到,在调用 /api/db_get.handler 的时候出错了,具体错误信息是:

Cannot find module "tablestore"

根据此错误提示,知道了应该是没有安装 NPM 依赖。点击「终端」,输入 npm install 安装该应用的依赖test7

NPM 依赖安装完成之后,点击「测试」,看看效果,这个时候发现之前的错误信息已经没有了,但是出现了新的错误提示

load code for handler:/api/db_get.handler"
SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306
test8

根据此错误提示,应该是 /api/db_get 对数据库的配置有问题导致的,我们打开 /api/db_get.js 看看test9该文件引入了 db_config 文件,这个文件里是数据库连接的配置信息,我们继续打开该文件

test10在 db_config 文件中我们看到了数据库连接信息是从环境变量中读取的,刚刚那个错误信息应该就是我们没有去配置数据库连接信息的环境变量导致的,我们可以看到测试页面上有环境变量配置的提示。

根据提示,我们回到「应用详情页」-「开发部署」Tab,点击对应环境右侧「应用配置」,把数据库连接信息添加进去。应用配置

数据库连接的环境信息添加完成后,回到 CloudIDE,点击「测试」看看效果,我们可以看到,这次没有再出现错误提示,在UI上看到了从数据库读取的数据,在「输出」栏也看到了数据库数据的输出日志。至此,我们通过测试功能,完成了一个数据库读取应用的调试。

应用代码开发好之后,您就可以部署到环境中测试看看效果。云开发平台为您内置了三套环境:日常环境、预发环境、线上环境。

在 CloudIDE 的左侧面板,点击「部署调试插件」,打开部署调试面板。在部署调试面板上,有 3 个标签页可以切换:部署、调试、Artifact Upload。部署调试插件

在部署面板,我们只设计了2个操作点:1、环境选择;2、路由函数映射表;

1、环境选择:你可以选择要部署到哪个环境:日常环境、预发环境、线上环境

2、路由、函数映射表:

2.1、路由,指的是用户访问您的应用的URL,比如:首页您可以设置为 /、列表页 /list、详情页 /detail,代表着用户访问该应用的路径分别为:首页(https: //您的域名/),列表页(https: //您的域名/list),详情页(https: //您的域名/detail)

2.2、函数,指的是路由的文件入口,比如我们前面设置的首页、列表页、详情页,用户通过URL访问进来后,背后是哪个文件,哪个入口函数来执行。函数入口目前主要有 Java 类型的文件和非 Java 类型的文件两种区别:

2.2.1、指定一个Java文件的入口函数的方式:{PackageName}.{ClassName}::{Method},比如com.alibaba.ailabs.GenieEntry::handleRequest,表示 com.alibaba.ailabs 这个package,GenieEntry 这个 class,handleRequest 这个函数;

2.2.2、指定其他文件格式的入口函数的方式:{FileName}.{Method},比如NodeJS:index.handler,表示 index.js文件,handler函数;

3、现在,我们以那 3 个路由为例,可能的路由函数映射表可以这样设置:[[“/“,”index.handler”], [“/list”, “list.handler”], [“/detail”, “detail.handler”]]

部署成功之后,您可以切到「调试」面板去测试一下是否成功调试

选择要调试的「环境」,选择要调试的「用户路径」(也就是部署时您设置的路由),根据您的业务逻辑,输入「请求头」和「入参」,确认无误后,点击「发送请求」,您就可以在右侧的「输出」面板看到您选择的环境下某个路由的实际返回结果