使用 Maven Cargo 使用 Keycloak 安装 Wildfly
Posted
技术标签:
【中文标题】使用 Maven Cargo 使用 Keycloak 安装 Wildfly【英文标题】:Use Maven Cargo to install Wildfly with Keycloak 【发布时间】:2014-12-24 05:36:23 【问题描述】:我正在尝试使用 Maven Cargo 来生成 Wildfly 容器并让 Keycloak 在其上运行。我已经有一段时间了,在我看来,有两种方法可以解决它。我可以使用 Wildfly 的工件安装程序,然后尝试将 Keycloak 部署到它,或者我可以使用 zip 安装程序并让它安装 Keycloak 的设备构建。我掌握了这两种解决方案的基本原理,尽管它们都不能一直有效。 他们似乎都有缺点。如果您使用工件安装程序,您将拥有一个更稳定的安装程序,但部署战争需要对 Wildfly 进行相当多的低级配置。 (Deployment Instructions)。另一方面,zip 安装程序需要找到一个地方来下载分发,然后在 Cargo 识别它之前对其进行一些操作,因为 zip 结构并不是 Cargo 所期望的。
我从这里获取 zip:https://repository.jboss.org/nexus/content/repositories/releases/org/keycloak/keycloak-appliance-dist-all/1.0.2.Final/keycloak-appliance-dist-all-1.0.2.Final.zip)
提前谢谢各位。
【问题讨论】:
【参考方案1】:我想出了一个办法,并附上了相关的 pom sn-p。这里唯一奇怪的部分是文件部分。它用于部署一个数据库文件,其中包含几个测试用户、领域、应用程序等。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.6</version>
<configuration>
<container>
<containerId>wildfly8x</containerId>
<!-- <log>$basedir/target/cargo.log</log> -->
<!-- <output>$basedir/target/wildfly.log</output> -->
<home>$project.basedir/target/cargo/installs/keycloak-appliance-dist-all-1.0.4.Final/keycloak-appliance-dist-all-1.0.4.Final/keycloak</home>
<artifactInstaller>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-appliance-dist-all</artifactId>
<version>1.0.4.Final</version>
</artifactInstaller>
</container>
<configuration>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
<cargo.servlet.users>root:root:ManagementRealm</cargo.servlet.users>
<cargo.jboss.configuration>standalone</cargo.jboss.configuration>
</properties>
<files>
<file>
<file>$project.basedir/WildflyKeycoakConfigs/keycloak.h2.db</file>
<todir>/data</todir>
</file>
</files>
</configuration>
</configuration>
</plugin>
【讨论】:
以上是关于使用 Maven Cargo 使用 Keycloak 安装 Wildfly的主要内容,如果未能解决你的问题,请参考以下文章
使用 Maven Cargo 使用 Keycloak 安装 Wildfly
如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?
如何配置 Maven Cargo 以使用嵌入式 Tomcat 6 服务器?