要在工作流程中使用 Apache Ant 任务,必须创建用于表示那些任务的自动化签名。每一个自动化签名都会将拓扑中的信息(例如位置、用户名和密码)映射至 Ant 任务中的参数。
开始之前
部署自动化需要 IBM® Rational® Software Architect Extension for
Deployment Automation Planning。
过程
- 创建自动化签名拓扑:
- 在“部署”透视图中,单击。
- 在“新建拓扑”窗口中的类别下面,单击基本部署,然后在模板下面单击空白自动化签名拓扑。
- 为新的自动化签名拓扑提供一个名称、名称空间和源文件夹。 按照约定,自动化签名拓扑会转至 operations 源文件夹和缺省(空)名称空间。
- 单击完成。
- 在自动化签名拓扑中,对用于运行自动化任务的 IT 系统进行建模。
自动化签名是任务的抽象描述,而不是计划要在特定的系统上运行任务。因此,自动化签名拓扑只包括该任务的必要单元。请遵循适用于自动化签名拓扑的下列准则:
此拓扑不需要进行详细说明;它必须仅指定系统的基础,特别是该任务安装、卸载或修改的组件。例如,简单任务可能使用 Ant 命令 unzip 来抽取 Apache Tomcat Web 服务器的必要文件。在这种情况下,拓扑会显示该服务器的组件以及用于运行该服务器的操作系统,如下图中所示:
这些单元中的一部分包含错误,这是因为该拓扑未指定该任务对这些单元的影响方式。这些错误将在接下来的几个步骤之后得到解决。
- 设置自动化签名拓扑中所有单元的安装状态:
- 在任务开始转为 Installed 之前,设置任务不影响的单元或假设为已安装的单元。
- 将任务安装或修改的单元设置为 To
be installed。
- 将任务卸载或移除的单元设置为 To
be uninstalled。
如以下示例中所示,如果任务安装 Web 服务器,请将新安装的单元设置为 To be installed 并将已安装的单元设置为 Installed。
- 在选用板中,从公共工具抽屉的操作模板组中,将 Ant 操作单元添加至拓扑。
- 选择拓扑之后,在“属性”视图中签名选项卡的底部,将安装状态为 To be installed 或 To
be uninstalled 的所有单元添加至待发布列表。 现在,自动化签名指定受该任务影响的单元,并且单元上的错误已消失。也会将待发布列表中的单元添加为 Ant 操作单元的成员。
- 在“属性”视图的“签名”选项卡的名称字段中,指定自动化任务的标识。 请不要在名称中包含空格。
将自动化签名添加到工作流程中时,此名称会标识该自动化签名。
- 在命令字段中,指定 Ant 任务的代码。 例如,要使用 Ant unzip 命令来抽取 Tomcat 安装文件,您可以使用下列代码:
<unzip src="" dest="">
<cutdirsmapper dirs="1"/>
</unzip>
- 将该命令中的属性值替换为参数。 这些参数必须以美元符号 ($) 开头并且使用花括号将名称括起来。例如,用于抽取 Tomcat 文件的命令可能与下列命令相似:
<unzip src="${tomcatInstallFile}"
dest="${tomcatInstallLocation}">
<cutdirsmapper dirs="1"/>
</unzip>
- 从自动化签名中的命令定义每一个参数:
- 在“属性”视图的“签名”选项卡的参数部分中,单击添加参数。
- 指定参数的名称。 请不要包括美元符号 ($) 或花括号。
- 在拓扑中选择要将该参数绑定至的属性,然后单击完成。
例如,如果参数表示某个文件或文件夹的位置,请将参数绑定至相应文件或文件夹单元的位置属性。请注意,不是将参数绑定至属性的当前值,而是绑定至属性本身。当您准备好开始运行任务时,请将此自动化签名添加至已绑定至更具体拓扑的工作流程;该具体拓扑中相应属性的值将用作参数的值。
如果值是常量,那么您可以为参数指定一个字面值。还可以将参数留空,以便您可以在将自动化签名添加到自动化工作流程时指定一个值。
- 如有必要,请为 Ant 任务指定缺省参数的值。
- 如果自动化签名的命令使用标准 Ant 命令,那么您不需要指定 classname、classpathHome 或 javaArchive 参数的值。
- 如果该命令使用 Ant 命令的第三方库,那么必须指定下列参数:
- classname
- 命令的类名称
- classpathHome
- 用于查找该类的类路径
- javaArchive
- 命令的 JAR 文件位置
其他缺省参数是可选参数:
- antlib
- 此参数会向名称空间前缀指定一个前缀,以将此任务中的命令与外部 Ant 文件中的命令区别开。
- namespacePrefix
- 此参数会为此 Ant 文件中的此任务指定名称空间前缀。
- subbuild
- 选中此复选框以将此任务发布至单独的构建文件。如果不选中此复选框,那么当您发布包含此任务的工作流程时,此任务将出现在主要的 Ant 构建文件中。
如果选中此复选框,那么此任务将出现在独立的构建文件中。
- 保存拓扑。
下一步做什么
现在,您可以按照
规划自动化任务的工作流中的描述将此库作为任务包括在自动化工作流程中。