部署自动化需要 IBM® Rational Software Architect Extension for Deployment Automation Planning。
安装 Web 服务器和 Web 应用程序是您可以使用 部署规划工具 自动执行的一项简单任务的示例。 您可以创建用于通过抽象术语来描述任务中的每一个步骤的自动化签名,而不必引用特定的计算机系统。 然后,您可以将那些自动化签名应用于一个或多个拓扑以在不同的系统上运行该任务。自动化签名使用您对其应用自动化签名的每一个拓扑中的信息;通过这种方式,您可以编写自动化代码一次并在不同的系统上使用该代码。
此示例使用 Web 应用程序、Tomcat Web 服务器和 Linux 操作系统的简单方案,如以下拓扑中所示。此方案类似于样本部署自动化拓扑和工作流程样本中使用 Rational Build Forge 执行自动化的示例。

您可以在一个自动化任务中安装 Web 服务器和 Web 应用程序,但为了获取最佳复用效果,您可以将这两个任务分离。将任务组织到各个模块部分中可使该任务更灵活。例如,如果使用不同的自动化任务来分别安装该服务器和该应用程序,那么您可以运行第二个任务两次以在同一服务器上安装两个应用程序。因此,规划此自动化任务的最佳方式是将该任务分成两个步骤。每一个步骤都由用于执行该任务的 Rational Build Forge 中的一个库以及用于在工作空间中表示该任务的相应自动化签名来表示。自动化签名包含自动化签名拓扑,您可以将自动化签名拓扑应用于工作空间中的拓扑,以便您可以在该拓扑上运行自动化任务。
在本示例中,第一个自动化签名会在 Linux 系统上安装 Web 服务器,如下图中所示。自动化签名拓扑会显示与该任务相关的单元:新的 Web 服务器、操作系统以及用于执行该任务的管理员用户。此自动化签名拓扑还包括 Web 服务器的安装文件。安装状态会指示该任务所更改的单元以及未更改的单元;在这种情况下,会将新的 Web 服务器单元设置为 To be installed,并将其他单元(假设在任务运行之前,所有这些单元都已显示)设置为 Installed。

第二个自动化签名会在 Tomcat 服务器上安装 Web 应用程序,如下图中所示。自动化签名拓扑会显示安装状态为 To be installed 的新 Web 应用程序以及已假设为待安装且安装状态为 Installed 的其他单元,包括用于表示要安装的 Web 应用程序的文件单元。




接下来,您可以创建用来将自动化签名应用于此拓扑的工作流程,如下图中所示。工作流程会将拓扑与一个或多个自动化签名相关联,以便您可以在该拓扑上的自动化签名中运行任务。 在这种情况下,工作流程包含用于安装 Web 服务器的两份自动化签名副本和用于安装 Web 应用程序的四份自动化签名副本。自动化签名的每一个实例都已设置成使用拓扑中的信息,例如两个计算机系统的主机名、用户名和密码。

cd /opt/tomcat/
tar -xzf /opt/tomcat/apache-tomcat-5.5.27.tar.gz
cp /home/systemuser/HelloWorldWeb.war /opt/tomcat/webapps/
/opt/tomcat/apache-tomcat-5.5.27/bin/shutdown.sh
/opt/tomcat/apache-tomcat-5.5.27/bin/startup.sh
cd $TomcatDir
tar -xzf $TomcatFile
cp $WARFile $TomcatDir/webapps/
$TomcatDir/apache-tomcat-5.5.27/bin/shutdown.sh
$TomcarDir/apache-tomcat-5.5.27/bin/startup.sh
库与下列内容相似:
自动化签名拓扑仅显示该任务的相关详细信息。自动化签名拓扑中指定的每一部分信息也必须在用于运行该任务的拓扑中指定;因此,仅指定必要信息非常重要。

此自动化签名拓扑为任务提供了模式和先决条件。通过这种方式,您只能在具有与自动化签名拓扑中的单元相匹配单元的拓扑上使用此自动化签名。

在第一个任务“在 Linux 系统上安装 Tomcat”中,任务会安装 Web 服务器单元,所以此单元的安装状态为 To be installed,如下图中所示。所有其他单元都假设在任务运行之前显示,包括操作系统、管理员、安装文件夹和安装文件。为简单起见,此自动化签名假设已创建安装文件夹并且已将 Web 服务器的安装文件下载至系统;更高级的自动化任务可能包括用于创建必要文件夹和下载安装文件的步骤。

在第二个任务“在 Web 服务器上安装 Web 应用程序”中,Web 服务器的安装状态为 Installed,并且新 Web 应用程序的安装状态为 To be installed。


这个单元列表为 部署规划工具 提供了起始点。 规划在拓扑上运行自动化任务时,您可以将要在该拓扑中更改的单元标记为 To be installed;部署规划工具 会在自动化签名的待发布列表中查找匹配的单元。大部分时候,此列表中的单元是安装状态为 To be installed 或 To be uninstalled 的单元。
您在自动化签名拓扑中指定的任何属性值都必须在用于运行自动化任务的拓扑中具有相同值。因此,请始终为自动化任务仅指定相同值。
在本示例中,只有所指定的属性值是管理员的用户名,该用户名在大部分 Linux 系统上是“root”。 所有其他属性值都留空。例如,如果为 Linux 操作系统的主机名指定一个值,那么自动化任务只能在具有该主机名的系统上运行。如果为 Web 服务器指定安装文件夹,那么始终将该 Web 服务器安装到该文件夹。
通过这种方式来保持未指定值可能会导致自动化签名拓扑中发生错误、警告或参考消息。 您可以忽略这些问题,这是因为将此自动化签名与拓扑进行匹配时,您可以使用该拓扑中的属性值。

再次,不在自动化签名拓扑中指定这些参数的值。将此自动化签名与拓扑进行匹配时,自动化签名会使用该拓扑中相应属性中的值。
其他自动化签名包含几个相同的单元,新单元表示要安装的 WAR 文件和 Web 应用程序,如下图中所示。

既然您具有用于表示任务的自动化签名,那么您可以将这些自动化签名应用于拓扑以运行任务。 您可以创建工作流程,该工作流程是要应用于特定拓扑的自动化签名的已排序列表。
在本示例中,拓扑的外观可能与下图类似:

在本示例中,您可以通过在自动化签名中添加与待发布列表中的单元相匹配的单元,在此系统上安装 Web 服务器和 Web 应用程序,如下图中所示。

请注意,这些新 Web 服务器和新 Web 应用程序单元已设置为 To be installed。这些单元以及拓扑中的其余单元必须与自动化签名拓扑中的单元相匹配。

