본문으로 건너뛰기

18.6 Unmanaged 배포

JBoss EAP 6 서버에 애플리케이션을 배포할 때 WAR나 EAR로 패키징된 하나의 파일을 사용하지 않고 별도의 디렉터리(Exploded)에 보관된 애플리케이션을 사용하려고 할 때 사용하는 방법이 Unmanaged 배포 방법이다. 대부분 미들웨어 벤더는 운영환경에서 JSP를 체크하여 컴파일하는 것을 권장하진 않지만, 특정 JSP 변경 파일만 빠르게 운영환경에 반영하려는 요구사항이 많다. 이 경우 압축이 풀린 디렉터리 형태로 배포하여야 한다. 이런 배포 방식을 JBoss에서는 Unmanaged 배포라고 한다.

도메인 모드에서 여러 호스트에서 Unmanaged 형식으로 배포하려면 각 호스트에 같은 디렉터리에 먼저 애플리케이션이 복사되어 있어야 한다.

다음에 설명할 배포 스캐너에서도 압축이 풀린 디렉터리로 배포할 수 있다. 예를 들어 example.war 라는 압축을 풀어놓은 디렉터리를 사용하면 된다.

관리 콘솔에서 배포

따라하기

  1. 관리 콘솔에서 Deployments 선택
  2. 배포할 애플리케이션 경로 입력
  3. 애플리케이션 Enable
  4. 배포완료
  5. 애플리케이션 확인
  1. 관리 콘솔에서 Deployments 선택

    Runtime Server Manage Deployments를 선택한다.

  2. 배포할 애플리케이션 경로 입력

    ‘Path’에는 압축이 풀린 디렉터리 경로를 입력한다. ‘Is Archive?’ 체크박스는 선택하지 않는다. example.war파일이 압축 파일인 경우에는 체크 박스를 선택한다. ‘Name’은 JBoss에서 관리에 사용하는 이름이며, ‘Runtime Name’은 실제 배포될 이름이다. 예제에서 example.war는 압축을 풀어놓은 디렉터리이다.

  3. 애플리케이션 Enable

  4. 배포완료

  5. 애플리케이션 확인 웹 브라우저에서 http://localhost:8080/example/ 을 입력하여 배포한 애플리케이션을 확인한다.

CLI에서 배포

CLI에서 배포하는 여러 가지 명령들을 살펴보자.

  • 스탠드얼론 모드에서 Exploded 디렉터리 배포 방법

    [standalone@localhost:9999 /] /deployment=example.war:add(runtime-name="example.war", content=[\{"path"=>"/EAP6book/apps/example.war","archive"=>false}])

    {"outcome" => "success"}

    [standalone@localhost:9999 /] */deployment=example.war:deploy*

    {"outcome" => "success"}
  • 스탠드얼론 모드에서 애플리케이션 undeploy, 제거 방법

    [standalone@localhost:9999 /] /deployment=example.war:undeploy

    {"outcome" => "success"}

    [standalone@localhost:9999 /] */deployment=example.war:remove*

    {"outcome" => "success"}
  • 도메인 모드에서 Exploded 배포 디렉터리 추가

    [domain@localhost:9999 /] /deployment=example.war:add(runtime-name="example.war", content=[\{"path"=>"/EAP6book/apps/example.war","archive"=>false}])
  • 도메인 모드에서 서버 그룹에 배포

    [domain@localhost:9999 /] deploy --name=example.war --server-groups=main-server-group
  • 도메인 모드에서 애플리케이션 서버 그룹에서 undeploy

    [domain@localhost:9999 /] undeploy example.war --server-groups=main-server-group