2014-10-28 62 views
0

我正在嘗試使用Maven Cargo生成一個Wildfly容器,並讓Keycloak在其上運行。我已經有一段時間了,我看到它有兩種方法可以解決它。我可以爲Wildfly使用工件安裝程序,然後嘗試部署Keycloak,或者我可以使用zip安裝程序並安裝Keycloak的設備版本。我有兩個解決方案的基礎知識,但他們都不工作。
他們似乎都有缺點。如果您使用工件安裝程序,則您擁有更穩定的安裝程序,但部署該戰爭需要對Wildfly進行較低級別的配置。 (Deployment Instructions)。另一方面,zip安裝程序需要找到一個地方從Cargo下載一個發佈,然後在Cargo識別它之前進行操作,因爲zip結構不是貨運期望的結果。使用Maven Cargo與Keycloak安裝Wildfly

我從這裏得到的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)提前傢伙

感謝。

回答

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>