创建 IBM® 工作负载脚本包项目
您可以使用 插件开发包 来创建脚本包。
过程
- 如果要使用 插件开发包 Eclipse 插件,请通过单击 窗口 > 打开透视图 > 其他 > 工作负载插件开发来打开 " 工作负载插件开发 " 透视图。 然后,单击 确定。
此时将打开 " 插件开发包 " 欢迎页面。
- 导入现有脚本包,或者创建新的脚本包。
- 要导入现有脚本包,请单击 文件 > 导入 > IBM 工作负载脚本包。
- 浏览到本地脚本包文件,或者从远程服务器中选择脚本包。
- 单击下一步。
- 指定项目名称以用于已导入的脚本包。 如果该项目不存在,系统将在导入过程中创建该项目。
- 单击完成。
- 双击 cbscript.json 文件以打开 " 脚本包配置 " 页面。
- 要创建脚本包,请单击欢迎页面上的 创建 IBM 工作负载脚本包项目 链接。 您还可以通过单击 文件 > 新建 > 项目 > IBM 工作负载脚本包项目来创建脚本包项目。
- 输入项目的信息:
- 项目名称
- 设置项目的名称。 一个脚本包项目可包含一个或多个脚本包。
- 位置
- 设置存储项目文件的位置。
- 脚本名称
- 设置脚本包的名称。注: 最初创建脚本包项目时,将创建一个脚本包。 要稍后向项目添加更多脚本包,请右键单击项目节点,然后选择 新建 > 脚本包。
- 附带
- 缺省情况下,会为脚本包创建 cbscript.json。 如果希望通过使用 extendedattributes.json 为脚本包配置更多属性,请选中复选框以创建此文件。
- 单击完成。
此时将打开 " 脚本包配置 " 页面。
- 输入项目的信息:
- 要导入现有脚本包,请单击 文件 > 导入 > IBM 工作负载脚本包。
- 配置脚本包。 您在 " 脚本包配置 " 页面上配置的参数存储在 cbscript.json中。 您可以通过单击 cbscript.json 选项卡来查看 cbscript.json 的内容。
- 名称
- 一个必需的纯文本字符串,用于标识脚本包。 该文本字符串的最大长度为 1024 个字符。写入到 cbscript.json 的内容示例:
"name": "Install and configure the ITM OS agent",重要信息: 请勿在参数或参数值中包含尾部空格,否则在导入脚本包时可能会发生错误。 - 版本
- 一个可选的纯文本字符串,用于提供版本信息。 如果指定了此参数的值,那么该值表示脚本包的版本。 如果未指定值,那么会使用缺省值
1.0.0。写入到 cbscript.json 的内容示例:"version": "1.0.0", - 描述
- 这是可选的纯文本字符串,用于描述脚本包功能。 上载压缩的脚本包时,此文本字符串将显示在“脚本包”页面的描述字段中。 该文本字符串的最大长度为 1024 个字符。写入到 cbscript.json 的内容示例:
"description": "This script package creates a JDBC Provider and Data Source for a highly available DB2 Enterprise database cluster", - 位置
- 这是上载压缩的脚本包时存储并解压的脚本包文件的位置。 上载压缩的脚本包时,此参数的值将显示在“脚本包”页面的工作目录字段中。 该字符串值的最大长度为 4098 个字符。 缺省值为
/tmp。 在受支持的 Windows 操作系统上,缺省值为C:\temp。写入到 cbscript.json 的内容示例:"location": "/tmp", - 命令
- 一个命令字符串,用于运行脚本包中的主脚本。 上载压缩的脚本包时,此参数的值将显示在“脚本包”页面的可执行文件字段中。 该字符串值的最大长度为 4098 个字符,并且可以包括环境变量。写入到 cbscript.json 的内容示例:
"command": "/bin/sh /tmp/createDB2DataSource/createDB2DataSource.sh", - 命令自变量
- 在运行时传递给脚本的参数及其值的可选列表。 上载压缩的脚本包时,此自变量列表将显示在“脚本包”页面的自变量字段中。 该字符串的最大长度为 4098 个字符,并且可以包括环境变量。 如果自变量可以包含空格字符,那么必须使用反斜杠作为转义字符 (
\") 以双引号将自变量括起来。 如果指定了此参数,那么下载脚本包时,此字符串将替换 cbscript.json 文件中的字符串。写入到 cbscript.json 的内容示例:"commandargs": "-user \"$(WAS_USERNAME)\" -password $(WAS_PASSWORD) -lang jython -f /tmp/myLabApp/appInstall.jy", - 执行
- 指定脚本包在系统上的运行时间。 缺省行为针对在成功启动所有虚拟机并且联合了所有节点(如果适用)之后要运行的脚本包。 创建 虚拟系统实例 时,将发生缺省行为。 以下值对于该参数是有效的:
- 在创建 虚拟系统实例 时
- 指定虚拟系统在初始创建期间完成启动时运行脚本。
此选项将作为
"execmode": "0",写入 cbscript.json 。 - 在 虚拟系统实例 处删除
- 指定在删除虚拟系统时运行此脚本。重要信息: 仅当删除 虚拟系统实例 时正在运行时,才会运行在删除 虚拟系统实例 时运行的脚本。
此选项将作为
"execmode": "1",写入 cbscript.json 。 - 当我启动它时
- 指定通过使用虚拟机的脚本名称旁边所显示的“启动”图标来手动启动该脚本。 单击此图标以运行该脚本。 通过使用此方法,运行此脚本的次数没有限制。
此选项将作为
"execmode": "2",写入 cbscript.json 。 - 在创建虚拟系统时以及我启动它时
- 指定虚拟系统在初始创建期间完成启动时运行脚本,也可以通过使用虚拟机的脚本名称旁边所显示的“启动”图标来手动启动该脚本。 单击此图标以运行该脚本。 通过使用此方法,运行此脚本的次数没有限制。
此选项将作为
"execmode": "3",写入 cbscript.json 。
- Keys
- 这是要在运行时添加到其他系统环境变量并提供给脚本使用的环境变量的列表。 上载压缩的脚本包时,这些环境变量及其值将显示在“脚本包”页面的环境字段中。cbscript.json 中的环境变量及其值的列表按以下格式定义:
"keys": [ { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>" }, { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>", "locked": "<ENV_LOCK>" }, { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>", "type": "<ENV_TYPE>", "locked": "<ENV_LOCK>" } ]每个环境变量都使用下列属性进行定义:- 类型
- 用于指示环境值的类型的可选字符串。 有效值如下所示:
booleanintegerpositiveintegerpassword(在用户界面或日志文件中会隐藏此值)string(这是缺省值)
写入到 cbscript.json 的内容示例:"type": "password", - 脚本关键字
- 环境变量的名称。 此属性是必需属性。写入到 cbscript.json 的内容示例:
"scriptkey": "DATABASE_HOST",如果此属性的文本字符串值包括 password,那么将像指定了 password 类型属性一样来处理密钥。 写入到 cbscript.json 的内容示例:"scriptkey": "DATABASE_PASSWORD", - 缺省值
- 环境变量的初始缺省值。 如果需要,稍后可修改此值。 此属性是必需属性,但是值可为空白。 如果指定了
validvalues,那么为此缺省值指定的值必须是在validvalues列表中指定的其中一个有效值。写入到 cbscript.json 的内容示例:"scriptdefaultvalue": "mainhost.ibm.com", - 已锁定
- 这是一个可选控制,用于指示在部署时是否可以修改环境变量。 有效值是
true或false。 缺省值为false。写入到 cbscript.json 的内容示例:"locked": "true",将此锁定功能添加到“模式编辑器”画布之后,此锁定功能会设置参数的锁定状态(设置为“已锁定”),并且仅在部署时生效。 此设置不会影响您执行下列任何任务的能力:- 从目录中的脚本包移除该参数。
- 在目录中的脚本包中更改该参数的值。
- 用户在“模式编辑器”中编辑程序包属性时,将该参数重置为“已解锁”状态。
- 必需
- 一个可选控制,用于指示环境变量是必需变量还是可选变量。 有效值是
true或false。 缺省值为true。写入到 cbscript.json 的内容示例:"required": "false", - 有效值
- 如果要从预定义值列表中选择环境变量的值,那么将此参数包括在环境变量配置中,并在列表中指定有效值。
scriptdefaultvalue所指定的值必须是这些有效值的其中一个。写入到 cbscript.json 的内容示例:"validvalues": ["a", "b", "c"],如果您指定此属性,那么有效值列表不得为空。 例如:以下语句是无效的:"validvalues": [],
写入到 cbscript.json 的内容示例:"keys": [ { "scriptkey": "DATABASE_NAME", "scriptvalue": "", "scriptdefaultvalue": "" }, { "scriptkey": "DATABASE_PORT", "scriptvalue": "", "scriptdefaultvalue": "50000", "type": "integer", "required": "true","validvalues": ["50000", "50001", "50002"], "locked": "false" }, { "scriptkey": "SSL_ENABLED_ON_PORT", "scriptvalue": "", "scriptdefaultvalue": "true", "type": "boolean" } [ - LOG
- 由于执行脚本包而写入的日志文件在虚拟机上的可选位置。 上载压缩脚本包之后,此参数的值会显示在“脚本包”页面的日志记录目录字段中。 该字符串值的最大长度为 4098 个字符。写入到 cbscript.json 的内容示例:
"log": "/tmp/SCAS_scriptpkg_logs", - 操作系统类型
- 此脚本支持的操作系统的类型。 当您必须指出脚本仅对于特定操作系统有效时,此参数很有用。 以下值对于该参数是有效的:
- linux/unix
- 该脚本仅在受支持的 Linux® 和 UNIX 操作系统上有效。 如果未指定此参数,那么这是缺省值。
- Windows
- 该脚本仅在受支持的 Windows 操作系统上有效。
- both
- 该脚本在所有受支持的 Windows 和 Linux/UNIX 操作系统上都有效。
例如,如果使用 Windows 操作系统映像创建虚拟系统模式,那么该模式中包含的任何脚本都必须能够在该操作系统上运行。 在这种情况下,您将受支持的操作系统指定为:"ostype": "windows", - 超时
- 最长时间(按毫秒计),期望脚本在此时间内执行完毕。 上载压缩脚本包时,此参数的值会显示在“脚本包”页面的超时字段中。 缺省值为
60000000(即,1000 分钟)。 如果值为 0,那么表明将无限期等待脚本完成。 如果超过了此超时值,那么将返回Status.TIMEOUT_FAILED,在 trace.log 中记录一条消息,并且会停止执行。写入到 cbscript.json 的内容示例(超时值为 2 分钟,指定为 120,000 毫秒):"timeout": "120000", - 类型
- 这是对脚本包类型的可选指示。 唯一的有效值为 Application(如果未指定值,那么这也是缺省值)。写入到 cbscript.json 的内容示例:
"type": "APPLICATION",
- 如果选择创建 extendedattributes.json 文件,请切换到 扩展属性 选项卡以配置更多属性。 在扩展属性页面上配置的参数存储在 extendedattributes.json 中。 您可以通过单击 extendedattributes.json 选项卡来查看 extendedattributes.json 的内容。
- 保存环境变量
- 指定在部署之后是否持久保存对脚本包参数值所作的更改,并在后续运行该脚本包时重新应用这些更改。 有关更多信息,请参阅相关参考部分。
- 产品标识
- 与许可证相关联的产品标识,如许可证目录中所示。 写入到 extendedattributes.json 的内容示例:
"productid": "5725L53" - 许可证类型
- 定义许可证的类型。 有效值如下所示:
- SERVER
- 根据所使用的虚拟服务器数,此许可证类型向用户收费。
- PVU
- 根据所使用的处理器价值单元,此许可证类型向用户收费。
- PerCore
- 根据所使用的处理器核心数,此许可证类型向用户收费。
- COMPUTE_NODE
- 根据所使用的计算节点数,此许可证类型向用户收费。
写入到 extendedattributes.json 的内容示例:"licensetype": "PVU" - 许可证 CPU
- 如果许可证的类型为 SERVER,那么此必需属性指定此服务器许可证的处理器计数限制。 写入到 extendedattributes.json 的内容示例:
"licensecpu": "4" - 许可证内存
- 如果许可证的类型为 SERVER,那么此必需属性指定此服务器许可证的内存限制(以 GB 计)。 写入到 extendedattributes.json 的内容示例:
"licensememory": "4" - 只读
- 选中此框以在将脚本包导入到系统时将其设置为只读。 锁定脚本包以防止进一步编辑。
- 控制台链接
- 定义控制台链接的名称和 URL。 控制台链接显示在 " 虚拟系统实例 " 页面上的 虚拟机 > 控制台 部分中。 您可以使用这些链接为用户提供一种简单的方法来访问用于管理虚拟机的控制台,例如 VNC 或 Integrated Solutions Console for WebSphere® Application Server。
有关定义控制台链接的更多信息,请参阅 相关参考 部分中的 "使用 extendedattributes.json 对象配置脚本包"。
下一步
将脚本包导入到 Cloud Pak System ,以便您可以在构建 虚拟系统模式时使用该脚本包。