使用部署規劃工具來自動執行作業的第一步是建立可重複使用的自動化簽章。每一個自動化簽章及其相對應的自動化定義,均表示要在 IT 系統上執行的作業,例如安裝、解除安裝或配置軟體元件。
在此範例中,每一個自動化簽章皆對應於一個以上的 Ant 指令。這些指令可以是核心 Ant 指令或協力廠商 Ant 指令,例如 Tomcat 指令。
程序
在此範例中,第一個自動化簽章會在目標系統上安裝 Tomcat。此作業可能聽起來很複雜,但在此環境定義中,安裝 Tomcat 就像在目標系統上對壓縮檔進行解壓縮一樣簡單。如果要建立此安裝簽章,請遵循下列步驟:
- 建立自動化簽章拓蹼:
- 在「部署」視景中,按一下。
- 在「新建拓蹼」視窗中,於種類下方,按一下基本部署,然後於範本下方,按一下空白自動化簽章拓蹼。
- 給新的自動化簽章拓蹼提供名稱、名稱空間及來源資料夾。 例如,將此拓蹼稱為 AntInstallTomcatSignature。依照慣例,自動化簽章拓蹼放入 operations 來源資料夾及預設(空白)名稱空間。
- 按一下完成。
- 在自動化簽章拓蹼中,給執行自動作業的 IT 系統建立模型。 在此範例中,作業系統單元表示 IT 系統。拓蹼尚不包含任何其他單元,因為自動化簽章拓蹼僅包含說明作業所必需的詳細資料。
- 將單元的安裝狀態設為已安裝。 因為此拓蹼表示執行自動作業之前 IT 系統的狀態,所以作業系統單元已經安裝。
- 新增單元來表示作業所安裝、解除安裝或修改的單元。 在此範例中,新增表示 Tomcat 系統的單元,其中包括 Tomcat 安裝單元、Tomcat 伺服器單元、Tomcat 使用者登錄單元及 Tomcat 使用者群組單元。
- 根據適當情況,將這些新單元的安裝狀態設為待安裝或待解除安裝。 一般而言,使用下列規則來設定單元的安裝狀態:
- 將不受作業影響的單元,或者假設在作業開始之前安裝的單元,設為已安裝。
- 將作業所安裝或修改的單元設為待安裝。
- 將作業所解除安裝或移除的單元設為待解除安裝。
在此範例中,新 Tomcat 單元的安裝狀態皆為待安裝。這些單元上有錯誤,因為自動化簽章尚未指定作業會對那些單元產生怎樣的影響。完成自動化簽章後,將會解決這些錯誤。
- 將 Ant 作業單元新增至拓蹼。 可以在「選用區」的一般工具抽屜中,於作業範本群組內,取得此單元。此單元表示自動化定義,在此情況下,是一個以上的 Ant 指令。
- 按一下拓蹼中的空白區域,然後開啟「內容」視圖並移至簽章標籤。
- 在簽章標籤的名稱欄位中,指定自動作業的名稱。 此名稱不能包含空格。在此範例中,可指定諸如 AntInstallTomcat 之類的名稱。
- 在指令欄位中,給作業指定 Ant 程式碼,並將參數取代為錢幣符號及大括弧,例如 ${parameterName}。 在此範例中,下列程式碼會解壓縮 Tomcat 保存檔並呼叫指令來啟動伺服器。它包含保存檔位置的參數及 Tomcat 安裝位置的參數。
<unzip src="${tomcatInstallFile}"
dest="${tomcatInstallLocation}">
<cutdirsmapper dirs="1"/>
</unzip>
<java jar="${installationLocation}\bin\bootstrap.jar"
fork="true" spawn="true">
<jvmarg
value="-Dcatalina.home=${tomcatInstallLocation}"/>
<arg line="start"/>
</java>
如果此指令僅使用標準 Ant 指令(如此範例中所示),則您不需指定相關資訊,來說明在何處尋找 Ant 指令。如果是使用來自協力廠商 Ant 程式庫的指令,則必須指定在何處尋找 Ant 指令,方式是在簽章標籤上指定 classname、classpathHome 及 javaArchive 參數。
- 在簽章標籤的參數區段中,新增參數以符合 Ant 程式碼中的參數:
- 按一下新增參數。
- 在「自動化簽章參數」視窗中,指定參數的名稱。
- 在參數值下方,指定參數的值,方式是將參數連結至拓蹼中的屬性,或指定文字值。 您也可以將參數保留空白,這樣,在將此自動化簽章併入到工作流程時,您就可以給參數填入值。
在此範例中,將 installationLocation 參數連結至 Tomcat 安裝功能上的 installedLocation 屬性。請不要在自動化簽章拓蹼中給此屬性指定值。建立工作流程時,該工作流程會使用表示特定部署實例之拓蹼中的值。
- 同樣地,建立名稱為 tomcatInstallFile 的參數,以符合 Ant 程式碼中的參數。 將此參數的值保留空白,因為不會在此拓蹼中給 Tomcat 安裝檔建立模型。
- 在簽章標籤底端,將所有安裝狀態為待安裝或待解除安裝的單元,新增至要發佈清單。 現在,自動化簽章會指定受作業影響的單元,而且單元上的錯誤已消失。此外,也會新增要發佈清單中的單元,作為 Ant 作業單元的成員。自動化簽章拓蹼看起來類似於下列拓蹼:
- 儲存自動化簽章拓蹼。
結果
現在,您可以在工作流程中使用此自動化簽章。對於此範例,您需要另兩個自動化簽章:
- 一個自動化簽章將使用者新增至 Tomcat 使用者群組及使用者登錄。相關的自動化簽章拓蹼包含安裝狀態為已安裝的 Tomcat 伺服器單元,及安裝狀態為待安裝的使用者單元。自動化簽章拓蹼看起來類似於下列拓蹼: 此自動化簽章的 Ant 程式碼可以停止伺服器,更新 Tomcat 使用者登錄以及重新啟動伺服器:
<java jar="${tomcatInstallLocation}\bin\bootstrap.jar"
fork="true" spawn="true">
<jvmarg value="-Dcatalina.home=${tomcatInstallLocation}"/>
<arg line="stop"/>
</java>
<replace file="${userRegistryLocation}"
token="</tomcat-users>"
value="<user name="${username}"
password="${password}"
roles="${roles}"/></tomcat-users>" />
<java jar="${tomcatInstallLocation}\bin\bootstrap.jar"
fork="true" spawn="true">
<jvmarg value="-Dcatalina.home=${tomcatInstallLocation}"/>
<arg line="start"/>
</java>
此程式碼中的參數會連結至拓蹼中的值,其中包括使用者的使用者名稱及密碼,以及 Tomcat 安裝位置。
- 另一個自動化簽章在 Tomcat 伺服器上部署 Web 應用程式。相關的自動化簽章拓蹼包含 Web 應用程式及現有 Tomcat 安裝: 此自動化簽章的 Ant 程式碼使用 Tomcat Ant 程式庫中名稱為 deploy 的 Ant 指令:
<deploy path="${path}"
url="http://${hostname}:${port}/manager"
war="${war}" username="${username}"
password="${password}" />
在此情況下,自動化簽章必須指定 classname、classpathHome 和 javaArchive,以及協力廠商 Ant 程式庫的資訊。