Используйте 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>