如何通过脚本部署模块/提供者/ spi?

时间:2019-09-27 15:23:10

标签: wildfly keycloak jboss-cli

是否可以通过脚本将模块部署到Wildfly(如此处,而无需手动修改XML文件)?我知道对jboss-cli.sh的{​​{1}}命令,但是有一种方法可以直接修改我的add module / standalone.xml或做一些等效的事情来告诉Wildfly加载模块?


说另一种方式...

我发现了两种部署模块的方法:

1)通过直接将jar复制到domain.xml来热部署    (根据该目录中的README文件,不推荐此方法用于生产部署,但是此方法无需事后进行任何手动操作即可。)

2)运行$KEYCLOAK_HOME/standalone/deployments,然后手动编辑jboss-cli.sh --command="module add --name=com.example.MySpi"(或standalone.xml),以将模块包含在“提供者”列表中,如下所示:

domain.xml

...,最后重新启动服务器。

我想使用推荐的方法,但是不需要手动编辑XML文件。有推荐的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以做类似的事情

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)

答案 1 :(得分:2)

对不起,还不能添加评论,所以我在这里添加。

我必须在上面的命令中添加--connect选项,否则它将出现no connection to the controller的问题。

那么整个命令将是:

jboss-cli.sh --connect --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"