使用插件
提示
当我们需要扩展 Apache Answer 的功能时,例如添加 OAuth 登录,我们可以设计插件来实现这些功能。
介绍
官方插件
你可以在这里找到 Apache Answer 官方支持的插件列表。
构建
Apache Answer 的二进制文件支持将不同的所需插件打包到二进制文件中。
前置要求
二进制构建
提示
我们使用 Apache Answer 二进制文件提供的 build 命令来重新构建包含插件的 Apache Answer 版本。
例如,以下是如何构建包含 GitHub 第三方登录插件的 Apache Answer 二进制文件。
使用官方插件
你可以使用 --with 参数来指定要使用的插件:
# 构建包含 GitHub 连接器插件的 Answer
$ ./answer build --with github.com/apache/incubator-answer-plugins/connector-github
你还可以指定插件版本:
# 构建包含 GitHub 连接器插件版本 1.0.0 的 Answer
$ ./answer build --with github.com/apache/incubator-answer-plugins/connector-github@1.0.0 --output ./new_answer
你可以同时使用多个插件:
$ ./answer build \
--with github.com/apache/incubator-answer-plugins/connector-github \
--with github.com/apache/incubator-answer-plugins/connector-google
使用本地插件
如果你需要使用本地插件,可以使用以下命令:
$ ./answer build --with github.com/apache/incubator-answer-plugins/connector-github@1.0.0=/my-local-space
交叉编译
你可以使用以下命令在 macOS 上构建 Linux-amd64 二进制文件:
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./answer build --with github.com/apache/incubator-answer-plugins/connector-github
指定 Answer 版本
你可以使用 ANSWER_MODULE 环境变量来指定 Answer 版本:
$ ANSWER_MODULE=github.com/apache/incubator-answer@v1.2.0-RC1 ./answer build --with github.com/apache/incubator-answer-plugins/connector-github
提示
你可以使用 plugin 命令列出当前二进制文件中包含的插件。
$ ./new_answer plugin
# 输出:
# github connector[0.0.1] made by answerdev
# google connector[0.0.1] made by answerdev