使用 XML 檔可指定要更新或安裝代理程式的目標系統。
代理程式更新及部署公用程式需要 XML 檔,來決定要更新或安裝代理程式的電腦。此檔案還必須指定登入認證,以及公用程式所需的其他項目。
此檔案具有下列需求:
下列範例顯示單一 <Target> 元素及 <Globals> 元素。只有與單一 <Target> 元素搭配使用時,<Globals> 元素沒有用。當您有多個 <Target> 元素時,<Globals> 元素會很有用。
<?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,且您要使用它,請將其設為 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 位址。下列範例使用 9.184.112.152 至 9.184.112.160 範圍內的 IP 位址,這些位址在每個系統上均使用相同登入認證:登入為 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>