如何通过脚本部署 module/provider/spi?
How to deploy a module/provider/spi via scripting?
有没有办法通过脚本 将模块部署到 Wildfly (如无需手动修改 XML 文件)?我知道 jboss-cli.sh
命令到 add module
但有没有办法直接修改我的 standalone.xml
/domain.xml
或者做一些等效的事情来告诉 Wildfly 加载模块?
换句话说...
我发现了两种部署模块的方法:
1) 直接热部署jar,复制到$KEYCLOAK_HOME/standalone/deployments
(根据该目录中的自述文件,此方法不推荐用于生产部署但它可以在之后无需任何手动工作。)
2) 运行 jboss-cli.sh --command="module add --name=com.example.MySpi"
然后 手动 编辑 standalone.xml
(或 domain.xml
)让你的模块在 "providers" 列表,像这样:
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
<web-context>auth</web-context>
<providers>
...
<provider>module:com.example.MySpi</provider>
</providers>
...
</subsystem>
...最后重启服务器。
我想使用推荐的方式,但不想手动编辑 XML 文件。有推荐的路径吗?
你可以这样做
jboss-cli.sh --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"
基本上,您可以使用 jboss-cli 为 standalone.xml 中的所有内容编写脚本。要了解更多配置在内部的外观,您可以在 jboss-cli.
中尝试 /subsystem=keycloak-server:read-resource(recursive=true)
抱歉,还不能添加评论,所以我在这里添加。
我必须在上面的命令中添加 --connect
选项,否则它会抱怨 no connection to the controller
。
整个命令将是:
jboss-cli.sh --connect --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"
有没有办法通过脚本 将模块部署到 Wildfly (如无需手动修改 XML 文件)?我知道 jboss-cli.sh
命令到 add module
但有没有办法直接修改我的 standalone.xml
/domain.xml
或者做一些等效的事情来告诉 Wildfly 加载模块?
换句话说...
我发现了两种部署模块的方法:
1) 直接热部署jar,复制到$KEYCLOAK_HOME/standalone/deployments
(根据该目录中的自述文件,此方法不推荐用于生产部署但它可以在之后无需任何手动工作。)
2) 运行 jboss-cli.sh --command="module add --name=com.example.MySpi"
然后 手动 编辑 standalone.xml
(或 domain.xml
)让你的模块在 "providers" 列表,像这样:
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
<web-context>auth</web-context>
<providers>
...
<provider>module:com.example.MySpi</provider>
</providers>
...
</subsystem>
...最后重启服务器。
我想使用推荐的方式,但不想手动编辑 XML 文件。有推荐的路径吗?
你可以这样做
jboss-cli.sh --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"
基本上,您可以使用 jboss-cli 为 standalone.xml 中的所有内容编写脚本。要了解更多配置在内部的外观,您可以在 jboss-cli.
中尝试/subsystem=keycloak-server:read-resource(recursive=true)
抱歉,还不能添加评论,所以我在这里添加。
我必须在上面的命令中添加 --connect
选项,否则它会抱怨 no connection to the controller
。
整个命令将是:
jboss-cli.sh --connect --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"