7장. 애플리케이션 배포
JBoss EAP에는 관리자와 개발자 모두를 지원하는 다양한 애플리케이션 배포 및 구성 옵션이 있습니다. 관리자의 경우 관리 콘솔 과 관리 CLI 는 프로덕션 환경에서 애플리케이션 배포를 관리하는 이상적인 그래픽 및 명령줄 인터페이스를 제공합니다. 개발자의 경우 다양한 애플리케이션 배포 테스트 옵션에는 구성 가능한 파일 시스템 배포 스캐너, HTTP API, Red Hat JBoss Developer Studio와 같은 IDE, Maven 이 포함됩니다.
애플리케이션을 배포할 때 org.jboss.metadata.parser.validate 시스템 속성을 true 로 설정하여 배포 설명자에 대한 유효성 검사를 활성화할 수 있습니다. 이 작업은 다음 방법 중 하나로 수행할 수 있습니다.
서버를 시작하는 동안
EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=true
$ EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 CLI 명령을 사용하여 서버 구성에 추가하여 다음을 수행합니다.
/system-property=org.jboss.metadata.parser.validate:add(value=true)
/system-property=org.jboss.metadata.parser.validate:add(value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1. 관리 CLI를 사용하여 애플리케이션 배포 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 애플리케이션을 배포하면 배포 스크립트를 생성하고 실행하는 기능과 함께 단일 명령줄 인터페이스를 활용할 수 있습니다. 이 스크립팅 기능을 사용하여 특정 애플리케이션 배포 및 관리 시나리오를 구성할 수 있습니다. 독립 실행형 서버로 실행할 때 단일 서버의 배포를 관리하거나 관리형 도메인에서 실행할 때 전체 서버 네트워크를 관리할 수 있습니다.
7.1.1. 관리 CLI를 사용하여 독립 실행형 서버에 애플리케이션 배포 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 배포
관리 CLI에서 배포 명령을 사용하고 애플리케이션 배포 경로를 지정합니다.
deploy /path/to/test-application.war
deploy /path/to/test-application.war
배포에 성공하면 관리 CLI에 대한 출력이 생성되지 않지만 서버 로그에 배포 메시지가 표시됩니다.
WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") WFLYUT0021: Registered web context: /test-application WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war")
WFLYUT0021: Registered web context: /test-application
WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
애플리케이션이 성공적으로 배포되었습니다.
애플리케이션 배포 취소
관리 CLI에서 undeploy 명령을 사용하고 배포 이름을 지정합니다.
애플리케이션 배포를 취소하고 배포 콘텐츠를 삭제합니다.
undeploy test-application.war
undeploy test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 리포지토리에서 배포 콘텐츠를 제거하지 않고 애플리케이션 배포를 취소합니다.
undeploy test-application.war --keep-content
undeploy test-application.war --keep-contentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 관리 콘솔에서 배포를 비활성화하는 것과 동일합니다.
배포 취소에 성공하면 관리 CLI에 대한 출력이 생성되지 않지만 서버 로그에 배포 취소 메시지가 표시됩니다.
WFLYUT0022: Unregistered web context: /test-application WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 62ms WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
WFLYUT0022: Unregistered web context: /test-application
WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 62ms
WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
애플리케이션이 성공적으로 배포 취소되었습니다.
배포 목록
관리 CLI에서 deployment-info 명령을 사용하여 배포 정보를 나열합니다.
deployment-info
deployment-info
출력에는 런타임 이름, 상태 및 활성화 여부와 같은 각 배포에 대한 세부 정보가 표시됩니다.
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS jboss-helloworld.war jboss-helloworld.war true true OK test-application.war test-application.war true true OK
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS
jboss-helloworld.war jboss-helloworld.war true true OK
test-application.war test-application.war true true OK
--name 인수를 사용하여 이름별로 표시하도록 배포를 필터링할 수도 있습니다.
7.1.2. 관리 CLI를 사용하여 관리형 도메인에서 애플리케이션 배포 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 배포
관리 CLI에서 배포 명령을 사용하고 애플리케이션 배포 경로를 지정합니다. 또한 애플리케이션을 배포해야 하는 서버 그룹을 지정해야 합니다.
애플리케이션을 모든 서버 그룹에 배포하려면 다음을 수행합니다.
deploy /path/to/test-application.war --all-server-groups
deploy /path/to/test-application.war --all-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 특정 서버 그룹에 배포하려면 다음을 수행합니다.
deploy /path/to/test-application.war --server-groups=main-server-group,other-server-group
deploy /path/to/test-application.war --server-groups=main-server-group,other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
성공적으로 배포해도 관리 CLI에 대한 출력이 생성되지 않지만 서버 로그에 영향을 받는 각 서버에 대한 배포 메시지가 표시됩니다.
[Server:server-one] WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") [Server:server-one] WFLYUT0021: Registered web context: /test-application [Server:server-one] WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
[Server:server-one] WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war")
[Server:server-one] WFLYUT0021: Registered web context: /test-application
[Server:server-one] WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
애플리케이션이 관리형 도메인의 적절한 서버 그룹에 성공적으로 배포되었습니다.
애플리케이션 배포 취소
관리 CLI에서 undeploy 명령을 사용하고 배포 이름을 지정합니다. 또한 애플리케이션을 배포 취소해야 하는 서버 그룹을 지정해야 합니다.
해당 배포를 사용하여 모든 서버 그룹에서 애플리케이션 배포를 취소합니다.
undeploy test-application.war --all-relevant-server-groups
undeploy test-application.war --all-relevant-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 서버 그룹에서 애플리케이션 배포를 취소합니다. 콘텐츠가 해당 배포를 사용하는 다른 서버 그룹의 리포지토리에 남아 있어야 하므로
--keep-content매개변수가 필요합니다.undeploy test-application.war --server-groups=other-server-group --keep-content
undeploy test-application.war --server-groups=other-server-group --keep-contentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 관리 콘솔에서 배포를 비활성화하는 것과 동일합니다.
배포에 성공하면 관리 CLI에 대한 출력이 생성되지 않지만 영향을 받는 각 서버에 대한 배포 취소 메시지가 표시됩니다.
[Server:server-one] WFLYUT0022: Unregistered web context: /test-application [Server:server-one] WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 74ms [Server:server-one] WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
[Server:server-one] WFLYUT0022: Unregistered web context: /test-application
[Server:server-one] WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 74ms
[Server:server-one] WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
애플리케이션이 성공적으로 배포 취소되었습니다.
배포 목록
관리 CLI에서 deployment-info 명령을 사용하여 배포 정보를 나열합니다. 배포 이름 또는 서버 그룹별로 배포 정보를 나열할 수 있습니다.
이름별 배포 정보를 표시하려면 다음을 수행합니다.
deployment-info --name=jboss-helloworld.war
deployment-info --name=jboss-helloworld.war
출력에는 각 서버 그룹에 배포 및 해당 상태가 나열됩니다.
서버 그룹별 배포 정보를 표시하려면 다음을 수행합니다.
deployment-info --server-group=other-server-group
deployment-info --server-group=other-server-group
출력에는 지정된 서버 그룹의 배포 및 해당 상태가 나열됩니다.
NAME RUNTIME-NAME STATE jboss-helloworld.war jboss-helloworld.war added test-application.war test-application.war enabled
NAME RUNTIME-NAME STATE
jboss-helloworld.war jboss-helloworld.war added
test-application.war test-application.war enabled
deploy -l 명령을 사용하여 도메인의 모든 배포를 나열할 수도 있습니다.