0

我正在尝试使用 Maven Cargo 来生成 Wildfly 容器并让 Keycloak 在其上运行。我已经有一段时间了,在我看来,有两种方法可以解决它。我可以使用 Wildfly 的工件安装程序,然后尝试将 Keycloak 部署到它,或者我可以使用 zip 安装程序并让它安装 Keycloak 的设备构建。我有两种解决方案的基本原理,尽管它们都不能一直工作。
他们似乎都有缺点。如果您使用工件安装程序,您将拥有更稳定的安装程序,但部署战争需要对 Wildfly 进行相当多的低级配置。(部署说明)。另一方面,zip 安装程序需要找到一个地方来下载分发,然后在 Cargo 识别它之前对其进行一些操作,因为 zip 结构不是 Cargo 所期望的。

我从这里获取压缩包: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 )

提前谢谢各位。

4

1 回答 1

0

我想出了一种方法来做到这一点,并附上了相关的 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>
于 2014-11-06T18:46:36.103 回答