11.9. JBoss EAP OpenShift 플랫폼에서 부팅 가능한 JAR 사용
11.9.1. oc 명령을 사용하여 바이너리 빌드 수행 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 부팅 가능한 JAR로 패키지한 후 JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행할 수 있습니다.
OpenShift에서는 부팅 가능한 JAR과 함께 EAP Operator 자동 트랜잭션 복구 기능을 사용할 수 없습니다.
사전 요구 사항
- MicroProfile Config 개발을 위한 Maven 프로젝트를 생성했습니다. 예를 들어 MicroProfile Config 빠른 시작을 참조하십시오.
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009.
절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.<plugins> <plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-jar-maven-plugin</artifactId> <version>${bootable.jar.maven.plugin.version}</version> <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.0</artifactId> </manifest> </channel> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-xp-5.0</artifactId> </manifest> </channel> </channels> <feature-pack-location>org.jboss.eap.xp:wildfly-galleon-pack</feature-pack-location> <layers> <layer>jaxrs-server</layer> <layer>microprofile-platform</layer> </layers> <cloud/> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins>참고JBoss EAP Maven JAR 플러그인에서 OpenShift 플랫폼을 선택하는지 확인할 수 있도록 플러그인
구성의 <configuration> 요소에 <cloud/> 요소를 포함해야 합니다.애플리케이션을 패키징합니다.
$ mvn package-
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. OpenShift에서 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.
$ oc new-project bootable-jar-project다음
oc명령을 입력하여 애플리케이션 이미지를 생성합니다.$ mkdir target/openshift && cp target/microprofile-config-bootable.jar target/openshift1 $ oc import-image ubi8/openjdk-17 --from=registry.redhat.io/ubi8/openjdk-17 --confirm2 $ oc new-build --strategy source --binary --image-stream openjdk-17 --name microprofile-config-app3 $ oc start-build microprofile-config-app --from-dir target/openshift4 참고OpenShift는 부팅 가능한 JAR 구성 파일에 CLI 스크립트 명령 세트를 적용하여 클라우드 환경에 조정합니다. Maven 프로젝트 /
target 디렉터리에서bootable-jar-build-artifacts/generated-cli-script.txt파일을 열어 이 스크립트에 액세스할 수 있습니다.확인:
사용 가능한 OpenShift 포드 목록을 보고 다음 명령을 실행하여 포드 빌드 상태를 확인합니다.
$ oc get pods빌드된 애플리케이션 이미지를 확인합니다.
$ oc get is microprofile-config-app출력에는 이름 및 이미지 리포지토리, 태그 등과 같은 빌드된 애플리케이션 이미지 세부 정보가 표시됩니다. 이 절차의 예에서는 이미지 스트림 이름과 태그 출력에
microprofile-config-app:latest가 표시됩니다.애플리케이션을 배포합니다.
$ oc new-app microprofile-config-app $ oc expose svc/microprofile-config-app중요부팅 가능한 JAR에 시스템 속성을 제공하려면
JAVA_OPTS_APPEND환경 변수를 사용해야 합니다. 다음 예제에서는JAVA_OPTS_APPEND환경 변수를 사용하는 방법을 보여줍니다.$ oc new-app <_IMAGESTREAM_> -e JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"새 애플리케이션이 생성되고 시작됩니다. 애플리케이션 구성이 새 서비스로 노출됩니다.
verification: 터미널에서 다음 명령을 실행하여 애플리케이션이 제대로 작동하는지 테스트합니다.
$ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json예상 출력:
{"result":"Hello jim"}