Liberty 자원 패키징

Liberty 자원은 WebSphere® Application Server, Network Deployment 버전 9.0 작업 관리자에 의한 배치를 위해 하나 이상의 압축(.zip) 파일로 패키징될 수 있습니다. 압축 파일 내 자원의 그룹은 자원의 범위와 공유에 적용됩니다. 압축 파일의 자원을 올바르게 배치하려면 자원의 경로 이름이 작업 관리자 규칙에 맞아야 합니다.

시작하기 전에

"명령 프롬프트에서 Liberty 서버 패키징"에서는 package 명령을 실행하여 Liberty 런타임을 포함하는 압축 파일, 공유 자원 디렉토리에 있는 파일, 하나의 임베디드 서버, 서버에 임베드된 애플리케이션을 작성하는 방법에 대해 설명합니다. 이 유형의 Liberty 설치를 배치하고 프로젝트 디렉토리에 해당 설치를 저장할 필요가 없는 경우 package 명령을 사용하여 압축 파일을 작성하는 것을 고려하십시오. 다른 유형의 Liberty 설치의 경우 하나 이상의 압축 파일을 수동으로 작성해야 합니다.

이 태스크 정보

지원되는 Liberty 자원 유형에는 프로젝트, 런타임, Liberty 서버, 애플리케이션 2진 및 SDK(Software Development Kit)가 포함됩니다. 자세한 정보는 "Liberty 자원"을 읽으십시오.

작업 관리자는 다음 규칙을 사용하여 압축 파일의 여러 유형의 Liberty 자원을 식별합니다.

  • 프로젝트 자원은 압축 파일의 선택적 최상위 레벨의 루트 디렉토리에 있습니다. 이 최상위 레벨의 루트 디렉토리의 서브디렉토리는 다른 자원의 루트입니다. 프로젝트 자원을 사용하여 관련 자원을 그룹화하고 이름 충돌을 피할 수 있습니다.
  • 런타임 자원에 파일 경로 runtime_name/bin/server 또는 runtime_name/bin/server.bat가 포함됩니다. runtime_name 디렉토리에 있는 모든 내용은 런타임 자원의 일부로 간주됩니다.
  • Liberty 서버 자원은 다음 규칙 중 하나를 충족시킵니다.
    • 런타임 자원에 임베드된 경우, Liberty 서버 자원에 파일 경로 runtime_name/usr/servers/server_name/server.xml이 포함됩니다.
    • 런타임 자원에서 분리된 경우에는 Liberty 서버 자원에 파일 경로 servers/server_name/server.xml이 포함됩니다.
  • 애플리케이션 2진 자원은 다음 규칙 중 하나를 충족시킵니다.
    • Liberty 서버 자원에 임베드된 경우, 애플리케이션 2진 자원에 파일 경로 server_name/dropins/application_name 또는 server_name/apps/application_name이 포함됩니다. 여기서 application_name.ear, .war 또는 .eba로 끝납니다.
    • 런타임 자원에 임베드된 경우, 애플리케이션 2진 자원에 파일 경로 runtime_name/usr/shared/apps/application_name이 포함됩니다. 여기서 application_name.ear, .war 또는 .eba로 끝납니다.
    • 런타임 및 서버 자원에서 분리된 경우, 애플리케이션 2진 자원의 디렉토리 경로에 application_name 파일이 포함됩니다. 여기서 application_name.ear, .war 또는 .eba로 끝납니다.
  • SDK 자원에 디렉토리 경로 JRE_name/jre/bin/java 또는 JRE_name/bin/java가 포함됩니다. 여기서 JRE_name은 Java 런타임 환경의 이름입니다.
작업 관리자는 압축 파일에 있는 자원의 디렉토리 이름을 자원 이름으로 사용합니다. 예를 들어, Liberty 런타임의 디렉토리 이름이 08.05.00.00인 경우, 해당 자원 이름은 08.05.00.00이고 해당 자원 ID는 runtime/08.05.00.00입니다. 자원의 이름을 지정하는 경우, 다음 가이드라인을 고려하십시오.
  • 여러 운영 체제에 패키지를 배치하는 경우, 운영 체제에 이식 가능한 디렉토리 및 파일 이름을 사용하십시오. 예를 들어, Windows 운영 체제에 자원을 배치하려고 할 때 대소문자만 다르게 자원의 이름을 지정하지 마십시오. 즉, jre-01.06.00Jre-01.06.00을 함께 사용하지 마십시오.
  • 자원 이름에 주 번호와 부 번호가 있는 버전 번호(예: 8.5.0.1)를 사용하는 경우, 간단한 렉시칼 문자열 비교를 사용하여 버전을 비교할 수 있도록 충분한 숫자를 할당하는지 확인하십시오. 8.5.0.1 대신 08.05.00.01을 사용하십시오. runtime-08.05.00.01 또는 jre-01.06.00_32와 같은 접두부를 사용하는 경우에도 이러한 스킴이 작용합니다.

    해당 규칙을 사용하면 작업 관리자에서 자원을 조회할 때 버전 비교를 사용할 수 있습니다. 예를 들어, 작업 관리자에서 이름 > 08.05.00.11을 조회하여 이름 및 버전이 8.5.0.11보다 큰 모든 자원을 찾을 수 있습니다. 효과적인 조회를 위해, 두 자리 이상의 수를 이름의 주 버전 번호와 부 버전 번호에 각각 할당하십시오. 그렇지 않으면 결과를 얻을 수 없습니다. 예를 들어, 조회를 위해 8.5.0.2 > 8.5.0.11 대신 08.05.00.02 > 08.05.00.11을 사용하십시오.

  • 관련 자원을 그룹화하고 이름 충돌을 피하려면 프로젝트 이름을 사용하십시오.

프로시저

Liberty 자원을 포함하는 하나 이상의 압축(.zip) 파일을 작성하는 Liberty 설치 유형을 판별하십시오.

예제 1: 자체 포함 Liberty 설치
이 예제는 먼저 하나 이상의 서버 호스트에 배치하기 위해 자체 포함 Liberty 설치를 패키징하는 방법을 보여줍니다. 그런 다음 서버의 새 버전 및 지원되는 애플리케이션을 패키징하는 방법을 보여줍니다.
Liberty 자원의 기본 구조는 다음과 같습니다.
  • 서버 호스트
    • 작업 자원
      • 프로젝트
        • Liberty 런타임
          • Liberty 서버 1
            • 애플리케이션 2진 1
          • Liberty 서버 2
            • 애플리케이션 2진 2
다음 가정이 이 설치 예제에 적용됩니다.
  • 설치에 두 개의 서버가 포함됩니다.
  • 각 서버는 bootstrap.properties 파일, server.xml 파일, 하나의 애플리케이션을 포함합니다.
  • 각 서버는 Liberty에 대한 최소 요구사항을 충족시키는 미리 설치된 SDK(JRE)를 사용합니다. 작업 관리자를 사용하여 SDK를 설치하려는 경우 관련 패키징 및 서버 구성 정보는 예제 2를 참조하십시오.
  • Liberty 설치는 작업 디렉토리 /liberty/working의 프로젝트 디렉토리 samples(예:/liberty/working/samples)에 배치됩니다.
배치 시 구조
Liberty 설치 예제는 서버 호스트에서 다음 디렉토리 구조를 가집니다.
[-] liberty
    [-] working
        [-] samples
            [-] wlp-08.05.00.00
                [+] bin
                [ ] clients
                [+] dev
                [ ] lafiles
                [+] lib
                [+] templates
                [-] usr
                    [-] servers
                        [-] SecuritySample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o SecuritySample-01.00.war
                        [-] ServletSample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o ServletSample-01.00.war
초기 배치에 대한 패키지 구조
다음 디렉토리 및 파일은 Liberty 설치의 초기 배치에 대한 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 압축 파일의 루트에 있습니다.
[-] samples
    [-] wlp-08.05.00.00
        [+] bin
        [ ] clients
        [+] dev
        [ ] lafiles
        [+] lib
        [+] templates
        [-] usr
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
기본 운영 체제 레벨 JRE가 아닌 SDK(JRE)를 서버가 사용해야 하는 경우 런타임 또는 서버 레벨에서 server.env 파일에 적절한 JRE의 위치를 지정해야 합니다. 예를 들면 다음과 같습니다.
JAVA_HOME=/opt/jre-06.00.31
서버의 새 버전 및 애플리케이션을 포함하는 패키지 구조
다음 디렉토리 및 파일은 서버의 새 버전 및 지원되는 애플리케이션에 대해 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 압축 파일의 루트에 있습니다.
[-] samples
    [-] wlp-08.05.00.00
        [-] usr
            [-] servers
                [-] SecuritySample-01.01-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.01.war
예제 2: SDK 및 Liberty 런타임의 호스트 레벨 공유
이 예제는 먼저 각 서버 호스트가 하나의 SDK(JRE) 공유 인스턴스, 하나의 Liberty 런타임 공유 인스턴스, 공유 SDK 및 공유 Liberty 런타임에 의존하는 두 개의 분리된 작업 서버를 포함하는 환경에 대해 Liberty 자원을 패키징하는 방법을 보여줍니다. 그런 다음 서버의 새 버전 및 지원되는 애플리케이션을 패키징하는 방법을 보여줍니다. 분리된 Liberty 서버를 포함하는 환경에 대해서는 작업 관리자를 필수적으로 사용해야 하며 Liberty 서버 스크립트를 사용하여 서버를 관리할 수 없습니다.

호스트 및 네트워크 레벨에서 서버 구성 설정 공유에 대한 정보는 Liberty 문서에 있는 구성에 포함 사용 내용을 참조하십시오.

Liberty 자원의 기본 구조는 다음과 같습니다. 이 접근법을 사용하면 향후 추가 서버가 배치될 때 유지보수를 단순화하고 디스크 공간을 보존하는 데 도움을 줍니다.
  • 서버 호스트
    • 공유 자원
      • SDK(JRE)
      • Liberty 런타임
    • 작업 자원
      • 프로젝트
        • Liberty 서버 1
          • 애플리케이션 2진 1
        • Liberty 서버 2
          • 애플리케이션 2진 2
다음 가정이 이 설치 예제에 적용됩니다.
  • SDK(JRE) 및 Liberty 런타임이 공유 디렉토리 /liberty/shared에 배치됩니다.
  • 두 개의 분리된 서버가 작업 디렉토리 /liberty/working의 프로젝트 디렉토리 samples(예: /liberty/working/samples)에 배치됩니다. 프로젝트 디렉토리를 포함시키는 것은 선택사항입니다.
  • 각 서버는 bootstrap.properties 파일, server.env 파일, server.xml 파일, 하나의 애플리케이션을 포함합니다.
배치 시 구조
Liberty 환경 예제는 각 서버 호스트에서 다음 디렉토리 구조를 가집니다.
[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
각 분리된 서버는 공유 SDK(JRE) 및 공유 Liberty 런타임을 사용하도록 구성됩니다. 공유 자원의 위치는 각 server.env 파일에 저장됩니다. 예를 들면 다음과 같습니다.
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
경로에는 하드코드된 경로 대신 WLP_SHARED_DIR WebSphere 변수가 포함됩니다. 분리된 서버가 서버 호스트에 배치될 때 작업 관리자는 ${WLP_SHARED_DIR}을 실제 공유 디렉토리 경로로 대체합니다. 이 경우에서는 /liberty/shared입니다.
초기 배치에 대한 패키지 구조
다음 디렉토리 및 파일은 WLP_SHARED_DIR WebSphere 변수로 정의되는 공유 자원 디렉토리에 SDK(JRE) 및 Liberty 런타임을 초기 배치하기 위한 압축(.zip) 파일에 포함됩니다. SDK 및 Liberty 런타임이 프로젝트 전체에서 사용될 가능성이 높으므로 이러한 자원은 프로젝트 디렉토리에 포함되지 않습니다. 이 예제에서 SDK 및 Liberty 런타임은 하나의 압축 파일로 패키징됩니다. 그러나 사용자는 두 개의 개별 압축 파일로 패키징하고 두 개의 개별 설치 작업을 제출할 수 있습니다.
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates

다음 디렉토리 및 파일은 WLP_WORKING_DIR WebSphere 변수로 정의되는 작업 자원 디렉토리에 Liberty 서버 및 해당 애플리케이션을 초기 배치하기 위한 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 압축 파일의 루트에 있습니다.

[-] samples
    [-] servers
        [-] SecuritySample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.00.war
        [-] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o ServletSample-01.00.war
서버 및 애플리케이션을 업데이트하기 위한 패키지 구조
다음 디렉토리 및 파일은 WLP_WORKING_DIR WebSphere 변수로 정의되는 작업 자원 디렉토리에 서버의 새 버전 및 애플리케이션을 나중에 배치하기 위한 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 압축 파일의 루트에 있습니다.
[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.01.war
예제 3: SDK, 런타임, 애플리케이션의 네트워크 레벨 공유
제한사항: 예제 3은 Windows 운영 체제에 적용되지 않습니다.

이 예제는 먼저 SDK(JRE), Liberty 런타임 및 여러 애플리케이션이 공유 디스크에 저장되고 두 개의 분리된 (작업) 서버가 각 서버 호스트에 저장되는 환경에서 Liberty 자원을 패키징하는 방법에 대해 설명합니다. 그런 다음 서버의 새 버전 및 지원되는 애플리케이션을 패키징하는 방법을 보여줍니다. 분리된 Liberty 서버를 포함하는 환경에 대해서는 작업 관리자를 필수적으로 사용해야 합니다. Liberty 서버 스크립트를 사용하여 서버를 관리할 수 없습니다. 호스트 및 네트워크 레벨에서 서버 구성 설정 공유에 대한 정보는 Liberty 문서에 있는 구성에 포함 사용 내용을 참조하십시오.

Liberty 자원의 기본 구조는 다음과 같습니다. 이 접근법을 사용하면 향후 추가 서버가 배치될 때 유지보수를 단순화하고 디스크 공간을 보존하는 데 도움을 줍니다.
  • 공유 디스크
    • 공유 자원
      • SDK(JRE)
      • Liberty 런타임
      • 애플리케이션 2진 1
      • 애플리케이션 2진 2
  • 서버 호스트
    • 작업 자원
      • 프로젝트
        • Liberty 서버 1
        • Liberty 서버 2
다음 가정이 이 설치 예제에 적용됩니다.
  • SDK(JRE), Liberty 런타임, 애플리케이션이 공유 디스크의 경로 /liberty/shared에 설치됩니다.
  • 각 서버 호스트에서 공유 자원 디렉토리(공유 자원 디스크에 있음)가 동일한 경로 /liberty/shared에 마운트됩니다.
  • 각 서버 호스트에서 두 개의 분리된(작업) 서버가 작업 디렉토리 /liberty/working의 프로젝트 디렉토리 samples(예: /liberty/working/samples)에 배치됩니다. 프로젝트 디렉토리를 포함시키는 것은 선택사항입니다.
  • 각 서버는 bootstrap.properties 파일, server.env 파일, server.xml 파일을 포함합니다.
배치 시 구조
Liberty 환경 예제는 공유 디스크 및 서버 호스트에서 다음 디렉토리 구조를 가집니다.
공유 디스크

[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
        [-] samples
            [ ] apps
                    o SecuritySample-01.00.war
                    o ServletSample-01.00-01.war
Server hosts

[-] liberty
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
각 분리된 서버는 공유 SDK(JRE) 및 공유 Liberty 런타임을 사용하도록 구성됩니다. 공유 자원의 위치는 각 server.env 파일에 저장됩니다. 예를 들면 다음과 같습니다.
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
경로에는 하드코드된 경로 대신 WLP_SHARED_DIR WebSphere 변수가 포함됩니다. 분리된 서버가 서버 호스트에 배치될 때 작업 관리자는 ${WLP_SHARED_DIR}을 실제 공유 디렉토리 경로로 대체합니다. 이 경우에서는 /liberty/shared입니다. 각 서버 호스트에서 원격 공유 자원 디렉토리가 /liberty/shared에 마운트됩니다.
애플리케이션이 서버와 떨어져 있는 공유 스토리지에 있으므로 각 server.xml 파일의 application 요소는 상응하는 WAR 파일에 대한 전체 경로를 포함해야 합니다. 예를 들면 다음과 같습니다.
<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.00.war"
             name="SecuritySample" type="war"/>
server.xml 파일에 대한 변경을 최소화하기 위해 애플리케이션 디렉토리 및 버전 정보를 각 서버 bootstrap.properties 파일에서 두 개의 특성에 저장할 수 있습니다. 예를 들면 다음과 같습니다.
apps.dir=${WLP_SHARED_DIR}/${CURRENT_PROJECT}/apps 
security.sample.version=1.00
그럼 다음 WLP_SHARED_DIR WebSphere 변수 및 CURRENT_PROJECT 내장 작업 관리자 변수를 각 server.xml 파일의 application 요소에 포함시킬 수 있습니다. 예를 들면 다음과 같습니다.
<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>
초기 배치에 대한 패키지 구조
다음 디렉토리 및 파일은 WLP_SHARED_DIR WebSphere 변수로 정의되는 공유 디스크 위치에 SDK(JRE) 및 Liberty 런타임을 초기 배치하기 위한 압축(.zip) 파일에 포함됩니다. SDK와 Liberty 런타임이 프로젝트에서 공유될 가능성이 높으므로, 이러한 자원은 프로젝트 디렉토리에 포함되지 않습니다. 애플리케이션은 프로젝트 디렉토리 samples에 포함됩니다. 이 예제에서 모든 공유 자원은 하나의 압축 파일로 패키징됩니다. 그러나 사용자는 세 개의 개별 압축 파일로 패키징하고 세 개의 개별 설치 작업을 제출할 수 있습니다.
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates
[-] samples
    [ ] apps
            o SecuritySample-01.00.war
            o ServletSample-01.00.war

다음 디렉토리 및 파일은 WLP_WORKING_DIR WebSphere 변수로 정의되는 작업 자원 디렉토리에 Liberty 서버를 초기 배치하기 위한 압축(.zip) 파일에 포함됩니다.

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
        [ ] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
애플리케이션 및 서버를 업데이트하기 위한 패키지 구조
다음 디렉토리 및 파일은 WLP_WORKING_DIR WebSphere 변수로 정의되는 공유 디스크 위치에 애플리케이션의 새 버전을 나중에 배치하기 위한 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 파일의 루트에 있습니다.
[-] samples
    [ ] apps
            o SecuritySample-01.01.war

다음 디렉토리 및 파일은 WLP_WORKING_DIR WebSphere 변수로 정의되는 작업 자원 디렉토리에 서버의 새 버전을 나중에 배치하기 위한 압축(.zip) 파일에 포함됩니다. 프로젝트 디렉토리 samples는 압축 파일의 루트에 있습니다.

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml

WAR 파일의 버전 1.01을 포함하도록 server.xml 파일의 application 요소를 변경해야 합니다.

<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.01.war"
             name="SecuritySample" type="war"/>

다른 방법으로, bootstrap.properties 파일이 애플리케이션 버전 정보를 포함하는 경우 적절하게 파일을 변경해야 합니다.

security.sample.version=1.01

그런 다음 server.xml 파일의 application 요소에 있는 업데이트된 버전 정보를 사용합니다.

<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>

다음에 수행할 작업

작업 관리자가 Liberty 자원을 설치 및 검색하는 데 필요한 변수를 설정하십시오.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tagt_jobmgr_pkg_cs_res
파일 이름:tagt_jobmgr_pkg_cs_res.html