2.5. 기존 Maven 바이너리를 사용하여 OpenShift 애플리케이션용 JWS 생성


기존 Maven 바이너리를 사용하여 OpenShift 애플리케이션용 JWS를 생성할 수 있습니다. oc start-build 명령을 사용하여 OpenShift에 기존 애플리케이션을 배포할 수 있습니다.

참고

다음 절차에서는 tomcat-websocket-chat 빠른 시작 예제를 기반으로 하는 예제 애플리케이션을 생성하는 방법을 설명합니다.

사전 요구 사항

  • OpenShift용 JWS에 배포하거나 로컬에 애플리케이션을 빌드한 애플리케이션에 대한 기존 .war,.ear, .jar 파일이 있습니다.

    예를 들어 tomcat-websocket-chat 애플리케이션을 로컬로 빌드하려면 다음 단계를 수행합니다.

    1. 소스 코드를 복제하려면 다음 명령을 입력합니다.

      $ git clone https://github.com/jboss-openshift/openshift-quickstarts.git
      Copy to Clipboard Toggle word wrap
    2. Red Hat JBoss Middleware Maven 리포지토리 구성에 설명된 대로 Red Hat JBoss Middleware Maven 리포지토리를 구성합니다.

      Maven 리포지토리에 대한 자세한 내용은 Red Hat JBoss Enerprise Maven Repository 웹 페이지를 참조하십시오.

    3. 애플리케이션을 빌드하려면 다음 명령을 입력합니다.

      $ cd openshift-quickstarts/tomcat-websocket-chat/
      $ mvn clean package
      Copy to Clipboard Toggle word wrap

      위 명령은 다음 출력을 생성합니다.

      [INFO] Scanning for projects...
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] Building Tomcat websocket example 1.2.0.Final
      [INFO] ------------------------------------------------------------------------
      ...
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 01:28 min
      [INFO] Finished at: 2018-01-16T15:59:16+10:00
      [INFO] Final Memory: 19M/271M
      [INFO] ------------------------------------------------------------------------
      Copy to Clipboard Toggle word wrap

절차

  1. 로컬 파일 시스템에서 바이너리 빌드 및 배포 하위 디렉터리를 위한 소스 디렉터리를 생성합니다.

    예를 들어 tomcat-websocket-chat 애플리케이션의 /ocp 소스 디렉터리 및 /deployments 하위 디렉터리를 생성하려면 다음 명령을 입력합니다.

    $ cd openshift-quickstarts/tomcat-websocket-chat/
    $ mkdir -p ocp/deployments
    Copy to Clipboard Toggle word wrap
    참고

    소스 디렉터리에 Maven 바이너리에 포함되지 않은 애플리케이션에 필요한 모든 콘텐츠가 포함될 수 있습니다. 자세한 내용은 OpenShift S2I 프로세스용 JWS 에서 참조하십시오.

  2. .war,.ear, .jar 바이너리 파일을 deployments 하위 디렉터리에 복사합니다.

    예를 들어 tomcat-websocket-chat 애플리케이션의 .war 파일을 복사하려면 다음 명령을 입력합니다.

    $ cp target/websocket-chat.war ocp/deployments/
    Copy to Clipboard Toggle word wrap
    참고

    이전 예에서 target/websocket-chat.war 는 복사하려는 바이너리 파일의 경로입니다.

    소스 디렉터리의 배포 하위 디렉터리에 있는 애플리케이션 아카이브는 OpenShift를 기반으로 빌드된 이미지의 $JWS_HOME/tomcat/webapps/ 디렉터리에 복사됩니다. 애플리케이션을 성공적으로 배포할 수 있도록 하려면 웹 애플리케이션 데이터가 포함된 디렉터리 계층이 올바르게 구성되어 있는지 확인해야 합니다. 자세한 내용은 OpenShift S2I 프로세스용 JWS 에서 참조하십시오.

  3. OpenShift 인스턴스에 로그인합니다.

    $ oc login <url>
    Copy to Clipboard Toggle word wrap
  4. 필요한 경우 새 프로젝트를 생성합니다.

    예를 들면 다음과 같습니다.

    $ oc new-project jws-bin-demo
    Copy to Clipboard Toggle word wrap
    참고

    위 예제에서 jws-bin-demo 는 생성할 프로젝트의 이름입니다.

  5. 애플리케이션에 사용할 OpenShift 이미지 스트림의 JWS를 확인합니다.

    $ oc get is -n openshift | grep ^jboss-webserver | cut -f1 -d ' '
    Copy to Clipboard Toggle word wrap

    위 명령은 다음 유형의 출력을 생성합니다.

    jboss-webserver56-openjdk8-tomcat9-openshift-ubi8
    Copy to Clipboard Toggle word wrap
    참고

    n openshift 옵션은 사용할 프로젝트를 지정합니다. oc get is -n openshift 명령은 openshift 프로젝트에서 이미지 스트림 리소스를 가져옵니다.

  6. 새 빌드 구성을 생성하고 이미지 스트림 및 애플리케이션 이름을 지정해야 합니다.

    예를 들어, tomcat-websocket-chat 애플리케이션에 대한 새 빌드 구성을 생성하려면 다음을 수행합니다.

    $ oc new-build --binary=true \
     --image-stream=jboss-webserver56-openjdk8-tomcat9-openshift-ubi8:latest\*
     --name=jws-wsch-app
    Copy to Clipboard Toggle word wrap
    참고

    위 예제에서 jws-wsch-app 은 OpenShift 애플리케이션용 JWS의 이름입니다.

    위 명령은 다음 유형의 출력을 생성합니다.

    --> Found image 8c3b85b (4 weeks old) in image stream "openshift/jboss-webserver56-tomcat9-openshift" under tag "latest" for "jboss-webserver56"
    
        JBoss Web Server 5.6
        --------------------
        Platform for building and running web applications on JBoss Web Server 5.6 - Tomcat v9
    
        Tags: builder, java, tomcat9
    
        * A source build using binary input will be created
          * The resulting image will be pushed to image stream "jws-wsch-app:latest"
          * A binary build was created, use 'start-build --from-dir' to trigger a new build
    
    --> Creating resources with label build=jws-wsch-app ...
        imagestream "jws-wsch-app" created
        buildconfig "jws-wsch-app" created
    --> Success
    Copy to Clipboard Toggle word wrap
  7. 바이너리 빌드를 시작합니다.

    예를 들면 다음과 같습니다.

    $ oc start-build jws-wsch-app --from-dir=./ocp --follow
    Copy to Clipboard Toggle word wrap
    참고

    위 예제에서 jws-wsch-app 은 OpenShift 애플리케이션용 JWS의 이름이며 ocp 는 소스 디렉터리의 이름입니다.

    이전 명령은 OpenShift 이미지 빌드의 바이너리 입력을 위해 생성한 소스 디렉터리를 사용하도록 OpenShift에 지시합니다.

    위 명령은 다음 유형의 출력을 생성합니다.

    Uploading directory "ocp" as binary input for the build ...
    build "jws-wsch-app-1" started
    Receiving source from STDIN as archive ...
    
    Copying all deployments war artifacts from /home/jboss/source/deployments directory into `/opt/jws-5.6/tomcat/webapps` for later deployment...
    '/home/jboss/source/deployments/websocket-chat.war' -> '/opt/jws-5.6/tomcat/webapps/websocket-chat.war'
    
    Pushing image 172.30.202.111:5000/jws-bin-demo/jws-wsch-app:latest ...
    Pushed 0/7 layers, 7% complete
    Pushed 1/7 layers, 14% complete
    Pushed 2/7 layers, 29% complete
    Pushed 3/7 layers, 49% complete
    Pushed 4/7 layers, 62% complete
    Pushed 5/7 layers, 92% complete
    Pushed 6/7 layers, 100% complete
    Pushed 7/7 layers, 100% complete
    Push successful
    Copy to Clipboard Toggle word wrap
  8. 이미지를 기반으로 새 OpenShift 애플리케이션을 생성합니다.

    예를 들면 다음과 같습니다.

    $ oc new-app jws-wsch-app
    Copy to Clipboard Toggle word wrap
    참고

    위 예제에서 jws-wsch-app 은 OpenShift 애플리케이션용 JWS의 이름입니다.

    위 명령은 다음 유형의 출력을 생성합니다.

    --> Found image e5f3a6b (About a minute old) in image stream "jws-bin-demo/jws-wsch-app" under tag "latest" for "jws-wsch-app"
    
        JBoss Web Server 5.6
        --------------------
        Platform for building and running web applications on JBoss Web Server 5.6 - Tomcat v9
    
        Tags: builder, java, tomcat9
    
        * This image will be deployed in deployment config "jws-wsch-app"
        * Ports 8080/tcp, 8443/tcp, 8778/tcp will be load balanced by service "jws-wsch-app"
          * Other containers can access this service through the hostname "jws-wsch-app"
    
    --> Creating resources ...
        deploymentconfig "jws-wsch-app" created
        service "jws-wsch-app" created
    --> Success
        Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
         'oc expose svc/jws-wsch-app'
        Run 'oc status' to view your app.
    Copy to Clipboard Toggle word wrap
  9. 사용자가 애플리케이션에 액세스할 수 있도록 서비스를 노출합니다.

    예를 들어 jws-wsch-app 애플리케이션 예제를 액세스하려면 다음 단계를 수행합니다.

    1. 노출할 서비스 이름을 확인합니다.

      $ oc get svc -o name
      Copy to Clipboard Toggle word wrap

      위 명령은 다음 유형의 출력을 생성합니다.

      service/jws-wsch-app
      Copy to Clipboard Toggle word wrap
    2. 서비스를 노출합니다.

      $ oc expose svc/jws-wsch-app
      Copy to Clipboard Toggle word wrap

      위 명령은 다음 유형의 출력을 생성합니다.

      route "jws-wsch-app" exposed
      Copy to Clipboard Toggle word wrap
  10. 노출된 경로의 주소를 검색합니다.

    oc get routes --no-headers -o custom-columns='host:spec.host' jws-wsch-app
    Copy to Clipboard Toggle word wrap
  11. 웹 브라우저를 열고 URL을 입력하여 애플리케이션에 액세스합니다.

    예를 들어 예제 jws-wsch-app 애플리케이션에 액세스하려면 다음 URL을 입력합니다.

    \http://<address_of_exposed_route>/websocket-chat

    참고

    이전 예에서 < address_of_exposed_route&gt;를 배포에 적합한 값으로 바꿉니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat