透過設定一般設定、建立內容及寫入自訂動作指令碼,可在已佈建的機器上安裝、設定、更新或解除安裝軟體元件。

身為軟體架構設計人員,可以按一下設計 > 軟體元件,然後按一下新增圖示以建立新的 軟體 元件。

新增軟體一般設定

將一般設定套用至軟體元件

表格 1. 新增軟體一般設定

設定

說明

名稱

輸入軟體元件的名稱。

識別碼

vRealize Automation 會使用您為軟體元件指定的名稱,為軟體元件建立一個識別碼,此識別碼在承租人內是唯一的。您可以立即編輯此欄位,但在儲存藍圖後,便無法再對其進行變更。由於識別碼在承租人內是永久且唯一的,因此您可以使用這些識別碼以程式設計方式與藍圖互動及建立內容繫結。

說明

摘要您的軟體元件以方便其他架構設計人員瞭解。

容器

在設計畫布上,藍圖架構設計人員只能將軟體元件放置在所選容器類型中。

  • 選取機器,要求架構設計人員將軟體元件直接放置在設計畫布中的機器元件上。

  • 如果您要設計永遠不應直接放置在機器元件上,但可嵌套於多個不同軟體元件之一的軟體元件,請選取軟體元件

  • 如果您要設計專門嵌套於所建立的其他軟體元件中的軟體元件,請選取特定的已發佈軟體元件。

新增軟體內容

軟體元件內容用於參數化指令碼,以便將定義的內容做為環境變數傳遞到在機器中執行的指令碼。在執行指令碼之前,已佈建機器中的軟體代理程式會與 vRealize Automation 進行通訊,以解析內容。然後,代理程式會從這些內容建立指令碼特定變數,並將其傳遞到指令碼。

表格 2. 新增軟體內容

設定

說明

名稱

輸入軟體內容的名稱。內容名稱區分大小寫,並且只能包含字母、數字、連字號 (-) 或底線 (_) 字元。

說明

為方便其他使用者瞭解,摘要值的內容及任何需求。

類型

軟體支援字串、陣列、內容、布林值或整數類型。如需受支援內容類型的詳細說明,請參閱內容類型和設定選項。如需內容繫結的相關資訊,請參閱當軟體元件需要來自另一個元件的資訊時在藍圖元件之間建立內容繫結

  • 使用您提供的值:

    • 輸入

    • 選取必要

    • 取消選取可覆寫

  • 要求架構設計人員提供值:

    • (選擇性) 輸入以提供預設值。

    • 選取可覆寫

    • 選取必要

  • 允許架構設計人員提供值或將值保留空白:

    • (選擇性) 輸入以提供預設值。

    • 選取可覆寫

    • 取消選取必要

已加密

將內容標記為已加密,以遮罩該值並在 vRealize Automation 中顯示為星號。如果將內容從已加密變更為未加密,則 vRealize Automation 會重設內容值。為安全起見,必須為內容設定新值。

重要事項︰

如果受保護內容透過 echo 命令或其他相似命令列印於指令碼,則這些值將以純文字格式顯示在記錄檔中。記錄檔中的值將不會被遮罩。

可覆寫

允許架構設計人員在組合應用程式藍圖時編輯此內容的值。如果輸入值,則會顯示為預設值。

必要

要求架構設計人員提供此內容的值,或接受您提供的預設值。

計算值

計算內容的值由 INSTALL、CONFIGURE、START 或 UPDATE 生命週期指令碼指派。已指派的值會傳播至後續可用生命週期階段,以及藍圖中繫結到這些內容的元件。如果為不是字串內容的內容選取 [計算值],則內容類型會變更為字串。

新增軟體動作

建立 Bash、Windows CMD 或 PowerShell 動作指令碼,以準確指定在部署縮放作業期間安裝、設定、解除安裝或更新元件的方式。

表格 3. 生命週期動作

生命週期動作

說明

安裝

安裝軟體。例如,您可以下載 Tomcat 伺服器安裝位元數並安裝 Tomcat 服務。針對安裝生命週期動作寫入的指令碼會在第一次佈建軟體時執行 (在初始部署申請期間或在擴充過程中)。

設定

設定軟體。對於 Tomcat 範例,您可以設定 JAVA_OPTS 和 CATALINA_OPTS。組態指令碼會在安裝動作完成後執行。

啟動

啟動軟體。例如,您可以在 Tomcat 伺服器中使用啟動命令啟動 Tomcat 服務。啟動指令碼會在設定動作完成後執行。

更新

如果您要將軟體元件設計為支援可縮放藍圖,請處理在縮小或擴充作業後所需的任何更新。例如,可以針對縮放部署變更叢集大小,並使用負載平衡器管理叢集節點。將更新指令碼設計為執行多次 (等冪) 以及同時處理縮小和擴充案例。執行縮放作業時,更新指令碼會在所有相依軟體元件上執行。

解除安裝

解除安裝軟體。例如,在銷毀部署之前,您可以在應用程式中執行特定動作。每次銷毀軟體元件時都會執行解除安裝指令碼。

為任何需要將機器重新開機的指令碼選取重新開機核取方塊。在指令碼執行後,機器會先重新開機,然後再啟動下一個生命週期指令碼。確認在動作指令碼執行時,程序不會提示使用者互動。中斷會暫停指令碼,致使其無限期地處於閒置狀態並最終失敗。此外,您的指令碼必須包含適用於應用程式部署的適當結束碼。如果指令碼缺少結束碼和傳回碼,則指令碼中執行的最後一個命令將變為結束狀態。結束碼和傳回碼會隨著支援的指令碼類型、Bash、Windows CMD、PowerShell 的不同而有所不同。

指令碼類型

成功狀態

錯誤狀態

不支援的命令

Bash

  • return 0

  • exit 0

  • return non-zero

  • exit non-zero

Windows CMD

exit /b 0

exit /b non-zero

請勿使用 exit 0exit non-zero 代碼。

PowerShell

exit 0

exit non-zero;

請勿使用 warningverbosedebughost 呼叫。