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>

프로세스

  1. pom.xml 파일의 & lt;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/ > 요소를 포함해야 합니다.

  2. 애플리케이션을 패키징합니다.

    $ mvn package
  3. oc login 명령을 사용하여 OpenShift 인스턴스에 로그인합니다.
  4. OpenShift에서 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.

    $ oc new-project bootable-jar-project
  5. 다음 oc 명령을 입력하여 애플리케이션 이미지를 생성합니다.

    $ mkdir target/openshift && cp target/microprofile-config-bootable.jar target/openshift  
    1
    
    
    $ oc import-image ubi8/openjdk-17 --from=registry.redhat.io/ubi8/openjdk-17 --confirm 
    2
    
    
    $ oc new-build --strategy source --binary --image-stream openjdk-17 --name microprofile-config-app 
    3
    
    
    $ oc start-build microprofile-config-app --from-dir target/openshift 
    4
    1
    대상 디렉터리에 openshift 하위 디렉터리를 생성합니다. 패키지 애플리케이션은 생성된 하위 디렉터리로 복사됩니다.
    2
    최신 OpenJDK 17 이미지 스트림 태그 및 이미지 정보를 OpenShift 프로젝트로 가져옵니다.
    3
    microprofile-config-app 디렉터리 및 OpenJDK 17 이미지 스트림을 기반으로 빌드 구성을 생성합니다.
    4
    target/openshift 하위 디렉터리를 바이너리 입력으로 사용하여 애플리케이션을 빌드합니다.
    참고

    OpenShift는 부팅 가능한 JAR 구성 파일에 CLI 스크립트 명령 세트를 적용하여 클라우드 환경에 조정합니다. Maven 프로젝트 / target 디렉터리에서 bootable-jar-build-artifacts/generated-cli-script.txt 파일을 열어 이 스크립트에 액세스할 수 있습니다.

  6. 확인:

    사용 가능한 OpenShift 포드 목록을 보고 다음 명령을 실행하여 포드 빌드 상태를 확인합니다.

    $ oc get pods

    빌드된 애플리케이션 이미지를 확인합니다.

    $ oc get is microprofile-config-app

    출력에는 이름 및 이미지 리포지토리, 태그 등과 같은 빌드된 애플리케이션 이미지 세부 정보가 표시됩니다. 이 절차의 예에서는 이미지 스트림 이름과 태그 출력에 microprofile-config-app:latest 가 표시됩니다.

  7. 애플리케이션을 배포합니다.

    $ 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"

    새 애플리케이션이 생성되고 시작됩니다. 애플리케이션 구성이 새 서비스로 노출됩니다.

  8. verification: 터미널에서 다음 명령을 실행하여 애플리케이션이 제대로 작동하는지 테스트합니다.

    $ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json

    예상 출력:

    {"result":"Hello jim"}
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동