我们传统的应用开发中,部署一个应用服务器基本上是必须的,而通过serverless应用部署我们自己的应用则无需搭建服务器,也不需要部署相应环境,只需要简简单单几行代码就可以在线部署我们的应用。话不多说,先给大家看一下效果图。
上面是一个智能计算器应用,通过8行代码我们就可以部署一个属于自己的智能计算器,当然还可以体验其它有趣的功能。
1准备工作
- linux,mac等环境(有其中一个即可,不能是windows),如果没有,采用ubuntu虚拟机或者linux网络服务器也可以(非必须),今天主要介绍采用ubuntu虚拟机的方式
- 飞书开放平台账号注册
- 飞书下载
1.1 部分参考链接
- vmware安装链接:https://my.vmware.com/cn/web/vmware/downloads
- ubuntu18.04镜像下载:http://mirrors.aliyun.com/ubuntu-releases/18.04.5/
- rust环境配置链接:https://github.com/secondstate/serverlessreactorstarter/blob/main/README.md
- 飞书下载windows应用下载链接:https://www.feishu.cn/download
- 飞书开放平台账号注册:https://passport.feishu.cn/create
6.Serverless Reactor官网: http://reactor.secondstate.info/
2 基于飞书开放平台创建机器人应用
2.1 飞书开放平台账号注册
点击链接:https://passport.feishu.cn/create/?redirect_uri=https%3A%2F%2Fopen.feishu.cn%2Fapp%2Fcli_a02624f5b838d013%2Fevent&app_id=7&lang=zh-CN
注册完成后采用手机号方式进行登录
飞书开放平台主界面
2.2 创建机器人应用
点击创建应用
创建企业自建应用
填写应用基本信息,点击确认创建
当前应用处于待上线状态
2.3 配置机器人应用信息
点击刚才创建的应用,点击机器人
点击启用机器人
3 Serverless Reactor配置飞书应用
Serverless Reactor 面向飞书、Slack、钉钉等即时通讯工具的开发者,为开发者提供快速搭建上线第三方应用的开发体验。通过 Serverless Reactor,开发者只需专注业务逻辑的实现,无需搭建应用的服务器、域名备案、数据存储等繁琐流程。
程序使用 WebAssembly(WASM) 分发,runtime 使用 WasmEdge-napi,给予开发者较大的语言选择自由度,并保证执行效率。
具体流程如下:
开发者把飞书平台所需要的每个 callback 写成一个函数
开发者把函数代码上传到 Serverless Reactor 平台,收到一个 callback URL
开发者把这个 callback URL 填在飞书平台需要 callback 的地方
注册Serverless Reactor账号(通过邮箱注册)
注册后邮箱会收到一封链接,点击验证,然后进行登录
登录首页
点击左上角apps
点击创建new app
填写玩欢迎语后点击完成
欢迎语采用json格式,在启用机器人时显示
在列表可以看到我们刚才创建的应用
4 上传自定义函数配置文件
这里默认大家已经搭建好ubuntu虚拟机环境
4.1安装nmp环境
在终端输入下面命令
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install
npm run build
npm -v
4.2 配置rust和rustwasmc环境
在终端输入下面命令安装rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
在终端输入下面命令安装rustwasmc(管理员模式,需要输入密码)
sudo npm install -g rustwasmc --unsafe-perm
4.3 fork计算器源代码到本地
github链接:https://github.com/second-state/serverless-reactor-starter
下载zip压缩包到本地
进行解压
解压后生成的文件
在文件夹内打开终端
在文件夹内右击选择open in terminal
输入下面命令
rustwasmc bulid
编译完成后可以看过原来的文件夹里面多了一个pkg文件夹
里面生产我们需要上床的.wasm文件
4.4 上传.wasm文件
回到Serverless Reactor主界面,点击upload wasm file
将刚才生成的.wasm文件可以现在虚拟机中拖拽到windows中在上传(安装vmtools可以直接拖拽)
上传后复制service url
回到飞书开放平台,点击时间订阅
编辑请求网址,将刚才的复制service url复制过来
这里需要注意的是复制网址后还需要在后面添加
/internal
添加事件
4.5 版本发布
在版本发布与管理中创建新建版本
版本填写1.0即可
点击保存
然后申请发布
等待审核通过
5 在本地安装飞书应用
5.1 注册登录飞书
以windows为例
下载链接:https://www.feishu.cn/download
下载安装包后默认安装即可
安装完成后进行登录
应用主界面
在搜索栏搜索计算器
可以看到我们创建的应用
5.2 计算机机器人应用体验
体验感觉还不错,欢迎大家试用!