将 Liberty 资源打包
可以将 Liberty资源打包为一个或多个压缩文件(.zip 文件),以供 WebSphere® Application Server Network Deployment V9.0 作业管理器进行部署。将资源集中在压缩文件中会影响资源的作用域和共享。为了正确部署压缩文件中的资源,资源的路径名必须满足作业管理器规则。
开始之前
“从命令提示符处将 Liberty 服务器打包”描述了如何运行 package 命令来创建一个压缩文件,使此压缩文件中包含 Liberty 运行时、共享资源目录中的文件、一个嵌入式服务器以及嵌入在该服务器中的任何应用程序。如果您想要部署此类型的 Liberty安装,且不需要将此安装放入项目目录中,那么可考虑使用 package 命令来创建压缩文件。对于其他类型的 Liberty安装,您必须手动创建一个或多个压缩文件。
关于此任务
受支持的 Liberty资源类型包括项目、运行时、Liberty 服务器、应用程序二进制文件以及软件开发包 (SDK)。有关更多信息,请参阅“Liberty 资源”。
作业管理器按照下列规则来区分压缩文件中不同类型的 Liberty资源:
过程
确定您需要的 Liberty安装类型,然后创建一个或多个包含 Liberty资源的压缩文件 (.zip)。
示例
- 此示例首先说明了如何将独立 Liberty 安装版本打包以部署到一个或多个服务器主机。然后说明了如何将新版本的服务器及其支持的应用程序打包。Liberty资源的基本结构如下所示:
- 服务器主机
- 工作资源
- 项目
- Liberty运行时
- Liberty服务器 1
- 应用程序二进制文件 1
- Liberty服务器 2
- 应用程序二进制文件 2
- Liberty服务器 1
- Liberty运行时
- 项目
- 工作资源
下列假定适用于此示例安装版本:- 部署时的结构
- 此示例 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
- 服务器主机
- 此示例首先说明了如何将以下环境中的 Liberty资源打包:在此环境中,每个服务器主机都包括 SDK (JRE) 的单个共享实例、Liberty运行时的单个共享实例以及两个依赖于此共享 SDK 和共享 Liberty运行时的隔离式工作服务器。然后说明了如何将新版本的服务器及其支持的应用程序打包。对于包括隔离式 Liberty服务器的环境,必须使用作业管理器;您无法使用 Liberty 服务器脚本来管理服务器。
有关在主机和网络级别共享服务器配置设置的信息,请参阅有关使用配置中包含的内容的 Liberty 文档。
Liberty资源的基本结构如下所示。当其他服务器会在将来部署时,使用此方法有助于简化维护和节省磁盘空间。- 服务器主机
- 共享资源
- SDK (JRE)
- Liberty 运行时
- 工作资源
- 项目
- Liberty服务器 1
- 应用程序二进制文件 1
- Liberty服务器 2
- 应用程序二进制文件 2
- Liberty服务器 1
- 项目
- 共享资源
下列假定适用于此示例安装版本:- 部署时的结构
- 此示例 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 文件中;例如:
路径包括 WLP_SHARED_DIR WebSphere 变量,而不包括硬编码的路径。当隔离式服务器部署到服务器主机时,作业管理器会将 ${WLP_SHARED_DIR} 替换为实际的共享目录路径,在本例中为 /liberty/shared。JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31 WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
- 用于初始部署的包的结构
- 下列目录和文件包括在用于将 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 不适用于 Windows 操作系统。
此示例首先说明了如何将以下环境中的 Liberty 资源打包:在此环境中,SDK (JRE)、Liberty运行时和若干应用程序存储在共享磁盘上,两个隔离式服务器(工作服务器)存储在每个服务器主机上。然后说明了如何将新版本的服务器及其支持的应用程序打包。对于包括隔离式 Liberty服务器的环境,必须使用作业管理器。您无法使用 Liberty 服务器脚本来管理服务器。有关在主机和网络级别共享服务器配置设置的信息,请参阅有关使用配置中包含的内容的 Liberty 文档。
Liberty资源的基本结构如下所示。当其他服务器会在将来部署时,使用此方法有助于简化维护和节省磁盘空间。- 共享磁盘
- 共享资源
- SDK (JRE)
- Liberty 运行时
- 应用程序二进制文件 1
- 应用程序二进制文件 2
- 共享资源
- 服务器主机
- 工作资源
- 项目
- Liberty服务器 1
- Liberty服务器 2
- 项目
- 工作资源
下列假定适用于此示例安装版本:- 部署时的结构
- 此示例 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 文件中;例如:
路径包括 WLP_SHARED_DIR WebSphere 变量,而不包括硬编码的路径。当隔离式服务器部署到服务器主机时,作业管理器会将 ${WLP_SHARED_DIR} 替换为实际的共享目录路径,在本例中为 /liberty/shared。在每个服务器主机上,远程共享资源目录安装在 /liberty/shared 中。JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31 WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
因为应用程序安装在服务器之外的共享存储器中,所以每个 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资源的变量。