使用 XML 文件指定用于更新或安装代理程序的目标系统。
代理程序更新和部署实用程序需要 XML 文件以确定用于更新或安装代理程序的计算机。该文件还必须指定登录凭证和实用程序需要的其他项。
文件具有以下需求:
以下示例显示了单个 <Target> 元素和一个 <Globals> 元素。<Globals> 元素在只有单个 <Target> 元素的情况下是无用的。<Globals> 元素在具有多个 <Target> 元素的情况下有用。
<?xml version="1.0" encoding="UTF-8"?>
<AgentDeploymentAndUpdate>
<Target id="9.184.112.152">
<Parameter Name="ConnectionType" Value="ssh"/>
<Parameter Name="UserName" Value="root"/>
<Parameter Name="Password" Value="passWord"/>
<Parameter Name="ExistingAgentPath" Value="/usr/local/bin/bfagent"/>
<Parameter Name="GZIPPath" Value="/usr/contrib/bin/"/>
</Target>
<Globals>
<Parameter Name="KeyFile" Value="..\test\keyfile.txt"/>
</Globals>
</AgentDeploymentAndUpdate>
每个 <Parameter> 元素在 <Target> 和 <Globals> 元素中都有效。有了这种灵活性,如果参数适用于所有目标计算机,您可以使用 <Target> 元素以仅指定 id 属性并将每个 <Parameter> 元素放置在 <Globals> 元素中。
指定 Value="" 的参数相当于不指定该参数。
以下各表描述了文件语法。
目标属性 | 值 |
---|---|
id | 目标计算机的名称或 IP 地址。 |
参数 | 值 |
---|---|
AgentInstallLocation | 仅针对 IBM AIX、HP-UX 和 Windows 系统 - 对其他平台没有任何影响 放置新代理程序的位置。如果未指定,将使用系统缺省临时目录。 |
BFAgentPort | 仅针对 IBM AIX 和 HP-UX 系统 代理程序要使用的端口。生成响应文件时使用。 |
BFASolarisAdminFile | 仅针对 Solaris 系统 目标系统上存储用于静默安装的响应文件的位置。 如果未指定,将使用系统缺省临时目录。 |
BFASolarisResponseFile | 仅针对 Solaris 系统 目标系统上存储响应文件的位置。如果未指定,将使用系统缺省临时目录。 |
ConnectionType | UNIX 或 Linux:SSH 或 RSH Windows:SSH、RSH、SMB 或 CIFS (RSH 是远程 shell。SMB 是服务器消息块。 CIFS 是通用因特网文件系统。) |
ConnectionPort | (可选)如果目标未使用缺省端口,那么为用于指定的连接类型(通过 ConnectionType 参数)的端口号。如果目标使用缺省端口,那么您无需指定该参数。 |
ExistingAgentPath | IBM AIX、HP-UX 和 Windows 系统所需。 目标计算机上现有代理程序的位置。实用程序会在指定的位置中创建 BFAgent.conf 文件的备份,然后在完成安装或升级后将其恢复。对于其他系统,将使用缺省系统安装位置。 |
GZIPPath | IBM AIX、HP-UX 和 Solaris 系统。 代理程序安装程序可在其中找到 gzip 命令(用于解压缩安装程序)的目录。 |
IsSudoEnabled | 如果在目标系统上启用了 sudo,并且您要使用 sudo,那么设置为 yes。将 SudoPassword 设置为正确的 sudo 密码。如果未设置,那么实用程序会尝试使用 Password 以获取 sudo 登录。 |
KeyFile | 运行实用程序的计算机上,存储了用于密码加密和解密的密钥的文件。 |
LocalTempLocation | 仅针对 IBM AIX、HP-UX 和 Windows。 目标系统上存储响应文件的位置。如果未指定,将使用系统缺省临时目录。对于 Solaris 系统,使用 BFASolarisResponseFile 或 BFASolarisAdminFile。 |
ManagedScriptsDir | 设置为运行实用程序的目录。 该目录位于运行 agentupdate 实用程序的计算机上。 |
SourceDirectory | 存储目标计算机的安装程序(使用 .exe、.rpm 和 .gz 格式)的目录。该目录位于运行 agentupdate 实用程序的计算机上。 |
StartCommand | (可选)目标计算机上用于启动 Rational Build Forge 代理程序的定制命令。 确保该命令包含在 PATH/path 变量中,或者在 XML 文件中提供完整路径。 |
StopCommand | (可选)目标计算机上用于停止 Rational Build Forge 代理程序的定制命令。 确保该命令包含在 PATH/path 变量中,或者在 XML 文件中提供完整路径。 |
SudoPassword | 用于 sudo 的密码。请参阅 IsSudoEnabled。 |
Password | 登录到目标计算机时用于 UserName 的密码。 要点: 最初在 XML 文件中以明文形式定义 Password 参数。如运行 agentupdate 实用程序中所示,使用 –encrypt 命令行选项对密码进行加密。
|
TemporaryLocation | 运行实用程序之前,目标计算机上用于存储安装程序的位置。 |
UseManagedScripts | 设置为 yes 或 no。如果设置为 yes,那么实用程序会尝试在 ManagedScriptsDir 目录中找到 StartCommand 和 StopCommand。 |
UserName | 登录到目标计算机时使用的用户名。 |
这些样本演示了如何使用 XML 文件。
该样本只有一个目标。目标 IP 地址为 9.164.259.143。<Target> 元素不包含可选参数 SourceDirectory 或 TemporaryLocation。 但是,<Globals> 元素具有 SourceDirectory 参数。 该实用程序将该参数的值用于此目标。
<?xml version="1.0" encoding="UTF-8"?>
<AgentDeploymentAndUpdate>
<Globals>
<Parameter Name="SourceDirectory" Value="..\test"/>
<Parameter Name="KeyFile" Value="..\test\keyfile.txt"/>
</Globals>
<Target id="9.164.259.143">
<Parameter Name="ConnectionType" Value="ssh"/>
<Parameter Name="UserName" Value="root"/>
<Parameter Name="Password" Value="toor"/>
<Parameter Name="ExistingAgentPath" Value="/usr/local/bin/bfagent"/>
<Parameter Name="AgentInstallLocation" Value="/usr/local/bin/bfagent"/>
</Target>
</AgentDeploymentAndUpdate>
该样本具有四个目标。但是,任何目标都不需要特定于该目标的参数。因此,所有参数都在 <Globals> 部分中指定,包括 UserName、Password 和 ConnectionType。
<?xml version="1.0" encoding="UTF-8"?>
<AgentDeploymentAndUpdate>
<Globals>
<Parameter Name="SourceDirectory" Value="..\test"/>
<Parameter Name="ConnectionType" Value="ssh"/>
<Parameter Name="UserName" Value="root"/>
<Parameter Name="Password" Value="toor"/>
<Parameter Name="TemporaryLocation" Value="/tmp"/>
<Parameter Name="ExistingAgentPath" Value="/usr/local/bin/bfagent"/>
<Parameter Name="AgentInstallLocation" Value="/usr/local/bin/bfagent"/>
<Parameter Name="KeyFile" Value="..\test\keyfile.txt"/>
</Globals>
<Target id="9.164.259.143">
</Target>
<Target id="9.164.102.169">
</Target>
<Target id="9.164.102.196">
</Target>
<Target id="9.106.189.157">
</Target>
</AgentDeploymentAndUpdate>
您可以为目标系统指定 IP 地址的范围。 以下示例适用于 IP 地址 9.184.112.152 到 9.184.112.160(在每个系统上都使用相同的登录凭证:登录名 root,密码 password)。
<?xml version="1.0" encoding="UTF-8"?>
<AgentDeploymentAndUpdate>
<Target id=”9.184.112.152-160”>
<Parameter Name="ConnectionType" Value="ssh">
<Parameter Name="ConnectionPort" Value=""/>
<Parameter Name="UserName" Value="root">
<Parameter Name="Password" Value="passWord">
</Target>
</AgentDeploymentAndUpdate>
如果所有目标都具有相同属性(连接类型、连接端口、用户名和密码),那么可在文件的 Globals 部分指定这些属性。
<?xml version="1.0" encoding="UTF-8"?>
<AgentDeploymentAndUpdate>
<Globals>
<Parameter Name="ConnectionType" Value="ssh">
<Parameter Name="ConnectionPort" Value="">
<Parameter Name="UserName" Value="root">
<Parameter Name="Password" Value="passWord">
</Globals>
<Target id=”9.184.112.152-160”>
</Target>
<Target id=”9.184.80.12-16”>
</Target>
</AgentDeploymentAndUpdate>