Используйте Maven Cargo для установки Wildfly с Keycloak

Я пытаюсь использовать 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)

Заранее спасибо, ребята.

1 ответ

Решение

Я нашел способ сделать это и приложил соответствующий фрагмент кода. Единственная странная часть здесь заканчивается секцией файлов. Он используется для развертывания файла базы данных, в котором есть несколько тестовых пользователей, областей, приложений и т. Д.

<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>
Другие вопросы по тегам