使用Maven Cargo与Keycloak安装Wildfly
问题描述:
我正在尝试使用Maven Cargo生成一个Wildfly容器,并让Keycloak在其上运行。我已经有一段时间了,我看到它有两种方法可以解决它。我可以为Wildfly使用工件安装程序,然后尝试部署Keycloak,或者我可以使用zip安装程序并安装Keycloak的设备版本。我有两个解决方案的基础知识,但他们都不工作。
他们似乎都有缺点。如果您使用工件安装程序,则您拥有更稳定的安装程序,但部署该战争需要对Wildfly进行较低级别的配置。 (Deployment Instructions)。另一方面,zip安装程序需要找到一个地方从Cargo下载一个发布,然后在Cargo识别它之前进行操作,因为zip结构不是货运期望的结果。使用Maven Cargo与Keycloak安装Wildfly
感谢。
答
我想出了一个办法做到这一点,并附上相关的POM片段。这里唯一的古怪片断最终成为了文件部分。它被用来部署一个数据库文件,其中包含几个测试用户,领域,应用程序等。
<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>