6.3. Maven 플러그인을 사용하여 JBoss EAP 서버 프로비저닝
애플리케이션의 pom.xml 을 업데이트하여 Maven 플러그인과 함께 패키지하고 사용자 지정 프로비저닝된 JBoss EAP 서버에 배포합니다. 그런 다음 OpenShift의 사용자 지정 프로비저닝 JBoss EAP 서버에서 실행되는 애플리케이션을 배포할 수 있습니다.
사전 요구 사항
- JBoss EAP Maven 플러그인 및 JBoss EAP Maven 아티팩트가 로컬 또는 원격 Maven 리포지토리에서 액세스할 수 있는지 확인합니다.
- JDK 21을 설치했습니다.
Maven이 설치되어 있어야 합니다. 자세한 내용은 Apache Maven 다운로드를 참조하십시오.
참고JDK 17 및 Maven 3.8.5 또는 이전 Maven 버전을 사용하는 경우 최신 Maven WAR 플러그인을 사용합니다.
- Jakarta EE 10 애플리케이션을 위한 Maven 프로젝트를 생성했습니다. 자세한 내용은 Maven을 사용하여 자카르타 EE 10 애플리케이션 생성을 참조하십시오.
프로세스
pom.xml파일에 다음 콘텐츠를 추가하여 원격 리포지토리에서 JBoss EAP BOM 및 JBoss EAP Maven 플러그인을 검색하도록 Maven을 구성합니다.<repositories> <repository> <id>jboss</id> <url>https://maven.repository.redhat.com/ga/</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss</id> <url>https://maven.repository.redhat.com/ga/</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.<plugins> <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <version>1.0.0.Final-redhat-00014</version>1 <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId>2 <artifactId>eap-8.0</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack> <location>org.jboss.eap:wildfly-ee-galleon-pack</location>3 </feature-pack> <feature-pack> <location>org.jboss.eap.cloud:eap-cloud-galleon-pack</location>4 </feature-pack> </feature-packs> <layers> <layer>cloud-server</layer>5 </layers> <runtime-name>ROOT.war</runtime-name>6 </configuration> <executions> <execution> <goals> <goal>package</goal>7 </goals> </execution> </executions> </plugin> </plugins>- 1
<version>1.0.0.Final-redhat-00014</version>은 JBoss EAP Maven 플러그인의 예제 버전입니다. JBoss EAP Maven 플러그인 릴리스에 대한 자세한 내용은 Red Hat Maven 리포지토리를 참조하십시오. https://maven.repository.redhat.com/earlyaccess/all/org/jboss/eap/plugins/eap-maven-plugin/.- 2
- 이는 JBoss EAP 서버 아티팩트가 정의된 JBoss EAP 8.0 채널을 지정합니다.
- 3
- JBoss EAP 채널에서 이 기능 팩의 버전을 검색할 수 있습니다. Galleon
기능 팩에는 트리밍 JBoss EAP서버 프로비저닝을 위한 클라우드서버와 같은 Galleon 계층이 포함되어 있습니다. - 4
- 이 기능 팩은 클라우드의 서버 Galleon 계층을 조정합니다. 이 기능 팩을 사용하여 OpenShift용 애플리케이션을 빌드해야 합니다.
- 5
- 이 Galleon 계층은 클라우드에서 JBoss EAP 애플리케이션을 실행할 때 필요한 기능을 서버에 프로비저닝합니다.
- 6
- 이 구성 옵션을 사용하면 HTTP 루트 컨텍스트에 배포를 등록할 수 있습니다.
- 7
- 이 플러그인 목표를 사용하면 서버를 프로비저닝하고, 애플리케이션을 배포하며, 사용자 지정 구성된 CLI 스크립트를 적용하고, 사용자 지정 콘텐츠를 서버 설치에 복사할 수 있습니다.
애플리케이션을 패키징합니다.
$ mvn package디렉터리
target/server에는 디버깅 또는 개발 목적에 사용할 준비가 된 서버 및 애플리케이션이 포함되어 있습니다. JBoss EAP S2I 빌드 컨텍스트에서 JBoss EAP maven-plugin에서 프로비저닝한 서버는/opt/server위치의 JBoss EAP 이미지에 설치됩니다. 자세한 내용은 OpenShift에서 S2I(Source-to-Image)를 사용하여 애플리케이션 이미지 빌드 를 참조하십시오.
디버깅이 활성화된 (-X 옵션)와 함께 mvn package 명령을 사용하는 경우 -Dorg.slf4j.simpleLogger.log.com.networknt.schema=off 를 포함하여 스키마 검증 중에 과도한 디버그 로깅을 방지합니다.
검증
-
프로비저닝된 하위 시스템 및 애플리케이션 배포가 포함된 생성된 서버 구성 파일
target/server/standalone/configuration/standalone.xml을 확인할 수 있습니다.
배포가 포함된 JBoss EAP 서버가 프로비저닝되었습니다.