将 Liberty 资源打包

可以将 Liberty资源打包为一个或多个压缩文件(.zip 文件),以供 WebSphere® Application Server Network Deployment V9.0 作业管理器进行部署。将资源集中在压缩文件中会影响资源的作用域和共享。为了正确部署压缩文件中的资源,资源的路径名必须满足作业管理器规则。

开始之前

“从命令提示符处将 Liberty 服务器打包”描述了如何运行 package 命令来创建一个压缩文件,使此压缩文件中包含 Liberty 运行时、共享资源目录中的文件、一个嵌入式服务器以及嵌入在该服务器中的任何应用程序。如果您想要部署此类型的 Liberty安装,且不需要将此安装放入项目目录中,那么可考虑使用 package 命令来创建压缩文件。对于其他类型的 Liberty安装,您必须手动创建一个或多个压缩文件。

关于此任务

受支持的 Liberty资源类型包括项目、运行时、Liberty 服务器、应用程序二进制文件以及软件开发包 (SDK)。有关更多信息,请参阅“Liberty 资源”。

作业管理器按照下列规则来区分压缩文件中不同类型的 Liberty资源:

  • 项目资源位于压缩文件中的一个可选顶级根目录中。此顶级根目录的子目录是其他资源的根目录。可以使用项目资源将相关资源分组在一起并且避免发生名称冲突。
  • 运行时资源包含文件路径 runtime_name/bin/server 或者 runtime_name/bin/server.batruntime_name 目录下的每个对象都被认为是运行时资源的一部分。
  • Liberty 服务器资源满足下列其中一项规则:
    • 如果 Liberty 服务器资源嵌入在运行时资源中,那么该 Liberty 服务器资源包含文件路径 runtime_name/usr/servers/server_name/server.xml
    • 如果 Liberty 服务器资源与运行时资源隔离(分开),那么该 Liberty 服务器资源包含文件路径 servers/server_name/server.xml
  • 应用程序二进制文件资源满足下列其中一项规则:
    • 如果应用程序二进制文件资源嵌入在 Liberty 服务器资源中,那么该应用程序二进制文件资源包含文件路径 server_name/dropins/application_nameserver_name/apps/application_name,其中 application_name.ear.war.eba 结尾。
    • 如果应用程序二进制文件资源嵌入在运行时资源中,那么该应用程序二进制文件资源包含文件路径 runtime_name/usr/shared/apps/application_name,其中 application_name.ear.war.eba 结尾。
    • 如果应用程序二进制文件资源与运行时资源和服务器资源隔离(分开),那么该应用程序二进制文件资源在任何目录路径中都包含 application_name 文件,其中 application_name.ear.war.eba 结尾。
  • SDK 资源包含目录路径 JRE_name/jre/bin/javaJRE_name/bin/java,其中 JRE_name 是 Java 运行时环境的名称。
作业管理器使用压缩文件中的某个资源的目录名称作为其资源名称。例如,如果 Liberty 运行时的目录名称为 08.05.00.00,那么其资源名称为 08.05.00.00,其资源标识为 runtime/08.05.00.00。为资源命名时,请考虑下列准则:
  • 如果您要将一个包部署到多个操作系统,请使用可在操作系统之间移植的目录名称和文件名。例如,请勿将资源命名为只是大写字母不同,以便可以将它们部署到 Windows 操作系统;也就是说,请勿将 jre-01.06.00Jre-01.06.00 混合在一起。
  • 在资源名称中使用具有主版本号和次版本号的版本号(例如,8.5.0.1)时,请确保分配足够的位数,以便可以使用简单的词法字符串比较对版本进行比较。请使用 08.05.00.01,而不使用 8.5.0.1。即使您使用前缀(例如,runtime-08.05.00.01jre-01.06.00_32),此方案也适用。

    使用此约定使得在作业管理器中查询资源时可以进行版本比较。例如,在作业管理器中,您可以查询 name > 08.05.00.11 以查找其名称和版本大于 8.5.0.11 的所有资源。为了进行高效查询,请为名称中的每个主版本号和次版本号至少分配两位数。否则,您将获得错误的结果。例如,使用 08.05.00.02 > 08.05.00.11 来查询,而不使用 8.5.0.2 > 8.5.0.11

  • 使用项目名称将相关资源分组在一起并且避免发生名称冲突。

过程

确定您需要的 Liberty安装类型,然后创建一个或多个包含 Liberty资源的压缩文件 (.zip)。

示例

示例 1:独立 Liberty 安装版本
此示例首先说明了如何将独立 Liberty 安装版本打包以部署到一个或多个服务器主机。然后说明了如何将新版本的服务器及其支持的应用程序打包。
Liberty资源的基本结构如下所示:
  • 服务器主机
    • 工作资源
      • 项目
        • Liberty运行时
          • Liberty服务器 1
            • 应用程序二进制文件 1
          • Liberty服务器 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 运行时的主机级共享
此示例首先说明了如何将以下环境中的 Liberty资源打包:在此环境中,每个服务器主机都包括 SDK (JRE) 的单个共享实例、Liberty运行时的单个共享实例以及两个依赖于此共享 SDK 和共享 Liberty运行时的隔离式工作服务器。然后说明了如何将新版本的服务器及其支持的应用程序打包。对于包括隔离式 Liberty服务器的环境,必须使用作业管理器;您无法使用 Liberty 服务器脚本来管理服务器。

有关在主机和网络级别共享服务器配置设置的信息,请参阅有关使用配置中包含的内容的 Liberty 文档。

Liberty资源的基本结构如下所示。当其他服务器会在将来部署时,使用此方法有助于简化维护和节省磁盘空间。
  • 服务器主机
    • 共享资源
      • SDK (JRE)
      • Liberty 运行时
    • 工作资源
      • 项目
        • Liberty服务器 1
          • 应用程序二进制文件 1
        • Liberty服务器 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
用于初始部署的包的结构
下列目录和文件包括在用于将 SDK (JRE) 和 Liberty运行时初始部署到由 WLP_SHARED_DIR WebSphere 变量定义的共享资源目录的压缩文件(.zip 文件)中。因为将有可能跨项目使用 SDK 和 Liberty运行时,所以这些资源未包括在项目目录中。在此示例中,SDK 和 Liberty运行时被打包到单个压缩文件中。但是,您可以将它们打包到两个单独的压缩文件中,并提交两个单独的安装作业。
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates

下列目录和文件包括在用于将 Liberty服务器及其应用程序初始部署到由 WLP_WORKING_DIR WebSphere 变量定义的工作资源目录的压缩文件(.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 操作系统。

此示例首先说明了如何将以下环境中的 Liberty 资源打包:在此环境中,SDK (JRE)、Liberty运行时和若干应用程序存储在共享磁盘上,两个隔离式服务器(工作服务器)存储在每个服务器主机上。然后说明了如何将新版本的服务器及其支持的应用程序打包。对于包括隔离式 Liberty服务器的环境,必须使用作业管理器。您无法使用 Liberty 服务器脚本来管理服务器。有关在主机和网络级别共享服务器配置设置的信息,请参阅有关使用配置中包含的内容的 Liberty 文档。

Liberty资源的基本结构如下所示。当其他服务器会在将来部署时,使用此方法有助于简化维护和节省磁盘空间。
  • 共享磁盘
    • 共享资源
      • SDK (JRE)
      • Liberty 运行时
      • 应用程序二进制文件 1
      • 应用程序二进制文件 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 环境在共享磁盘和服务器主机上具有下列目录结构:
Shared disk

[-] 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 文件中的应用程序元素必须包括相应 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 id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>
用于初始部署的包的结构
下列目录和文件包括在用于将 SDK (JRE) 、Liberty运行时和应用程序初始部署到由 WLP_SHARED_DIR WebSphere 变量定义的共享磁盘位置的压缩文件(.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

下列目录和文件包括在用于将 Liberty服务器初始部署到由 WLP_WORKING_DIR WebSphere 变量定义的工作资源目录的压缩文件(.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_SHARED_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

您必须将 server.xml 文件中的应用程序元素更改为包括 V1.01 的 WAR 文件;例如:

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