使用 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 服务器?

使用 cargo 插件在 payara 上部署

如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中

扩展 maven cargo 插件 jvmargs