步驟內容指定如何執行步驟、處理其輸出,以及步驟完成時要執行的動作。步驟也可執行其他專案或程式庫。
如果要檢視步驟內容,請在專案中選取一個步驟。依預設,會顯示「詳細資料」標籤。其中顯示步驟的內容。
如果步驟內容未明確設定,其值會繼承自專案。設定給步驟的步驟內容會置換繼承值。
步驟內容包含:
- 名稱
- 步驟的名稱。這是作為步驟在系統和日誌中的標籤。
- 作用中
- 指定是否執行步驟。依預設,步驟為「已啟用」。如果要阻止執行步驟,請選取「已停用」。停用的步驟就無法用來在工作中執行。
- 目錄
- 設定步驟指令的執行位置。系統會自動為每一項工作建立唯一目錄。目錄欄位便於您在專案於工作期間建構的目錄中執行指令。(Build Forge 不會建構目錄欄位所提及的目錄)
- 路徑
- 指定目錄是絕對或相對路徑。
- 相對:在將伺服器、專案、工作和步驟目錄加在一起之後所找到的路徑中,執行步驟指令。
- 絕對:在將伺服器和步驟目錄加在一起之後所找到的路徑中,執行步驟指令。這個選項可讓您存取不在專案目錄結構中的目錄。範例:可用來啟動永久安裝在伺服器上的應用程式。
- 步驟類型
- 決定如何執行步驟。此內容影響「指令」的內容,以及「列入」中指定的專案(若有的話)。
- 列入
- 指定要列入現行專案中執行的專案或程式庫。專案或程式庫中的步驟,可以使用現行專案的環境和大部分內容來執行。但是,系統會將列入專案的選取元,作為列入步驟的預設選取元。其行為就像是將指定專案中的步驟複製到現行步驟後面。
- 存取
- 選擇一個存取群組,以定義容許哪些使用者使用該步驟。您可以使用這個內容來限制對專案內特定步驟的存取權。如果使用者不是某步驟的「存取群組」成員,當他啟動內含該步驟的專案時,就會跳過該步驟。
選擇「專案預設值」會使步驟繼承專案的存取內容。
- 反覆運算數上限
- 只有在「步驟類型」為「While 迴圈」時才會顯示。指定步驟在迴圈中所能執行的反覆運算數上限。系統強制的預設值為 100。步驟在步驟日誌中會顯示成順利完成(通過)。使用一旦抵達上限,就讓步驟失敗,可在抵達「反覆運算數上限」時讓步驟失敗。
在執行工作時,唯讀變數 BF_ITERATION 含有已順利進入的疊代數。如果工作停止再重新啟動,就會從 BF_ITERATION 中的疊代重新啟動。
- 達到上限時則步驟失敗
- 若為「是」,則一旦抵達「反覆運算數上限」,While 迴圈步驟就會失敗。若為「否」,就讓步驟順利通過。
- Else 列入
- 只有在「步驟類型」為條件式時才會顯示。指定如果指定的條件為 false,則專案將列入執行。預設值是「否」。
- 指令
-
一個以上的指令。指令可以是作業系統指令、點指令或這兩者的組合。請參閱步驟如何執行。
- 條件
- 只有在您選取的步驟類型為「條件式」或「While 迴圈」時才會顯示。
- 條件式:如果條件求值為 true,則執行指令。
- While 迴圈:只要條件求值為 true,就可以多次執行指令。您可以使用「反覆運算數上限」來設定限制。
條件可以是要在所選伺服器資源上執行的函數或指令。
- 如果使用函數,就必須用在「條件」欄位的開頭。這是交由 Build Forge 引擎來求值。不會傳送給伺服器資源。如需函數清單及其用法指示,請參閱條件函數。
- 指令 是在選取的伺服器上執行。在這裡使用的任何指令,必須適用於代理程式的 Shell 環境。執行後所產生的回覆碼會決定條件通過或失敗。
專案的 Build Forge
變數可用在條件表示式中。如需如何表示與求值變數的相關資訊,請參閱解譯步驟中的變數。
- Else 指令
- 只有在您選取的步驟類型為「條件式」時才會顯示。指定條件求值為 false 時要執行的指令。
- 環境
-
指定在執行指令之前,所要套用的環境。這個環境中的值,會置換繼承自伺服器環境、專案環境和步驟變數的任何值。
- 選取元
- 指定一個選取元,以用來選擇這個步驟的伺服器。如果保持使用預設值,則步驟會在專案選取元所決定的伺服器上執行。
- 廣播
- 當勾選此項時,會在符合現行選取元的每一個伺服器上執行步驟;所謂的現行選取元是指步驟選取元(若有指定的話),如果沒有指定,則為專案選取元。在執行時期,系統會以一系列的步驟(每部伺服器一個步驟)來取代廣播步驟,然後視廣播步驟的執行緒內容而定,以序列方式或平行地執行這些步驟。
重新啟動時的廣播步驟行為:當廣播步驟重新啟動時,它不會播送。該設定只適用於步驟的新啟動。重新啟動時,引擎會為步驟隨機挑選單一伺服器。
- 逾時(分鐘)
- 指定系統應該等待現行指令產生輸出的分鐘數(預設值為 5 分鐘)。值 0 表示如果步驟適當地連接至代理程式,步驟就不會逾時。只要一達到逾時值,系統就會讓步驟失敗。除非將步驟設為「失敗時繼續」,否則專案也會失敗。
- 結果
- 「結果」內容決定系統如何判斷步驟成功或失敗。使用「結束碼」的預設值,根據指令 Shell 傳回的結束碼來判斷成功與否。您也可以選擇一項「日誌過濾器」,來檢查指令的輸出。如果要選取「日誌過濾器」,您必須先建立它。
- 失敗時
- 指定一旦步驟失敗,則要中止或繼續工作。依預設,系統會中止工作。
- 執行緒
- 若為「是」,則讓這個步驟與其他步驟平行執行。將這個內容設為「是」,以容許此步驟進行執行緒作業(與其他步驟平行地執行此步驟)。如果您要避免執行緒作業,請將內容設為「否」。如果您要區隔步驟的執行緒區塊,請將內容設為「合併」。您必須先完成第一組步驟之後,才能啟動「合併」步驟之後的下一組含執行緒作業的步驟。
- 通過通知
- 指定一旦步驟通過,則要通知的存取群組。
- 通過鏈
- 指定一旦現行步驟通過,則要啟動的專案。(具有「警告」狀態的步驟視為通過,因此將會啟動通過鏈)。
- 通過等待
- 若有勾選,則系統會暫停現行專案,直到通過鏈結專案完成為止。如果取消這個步驟(或其專案),也會一併取消鏈結專案。如果未勾選,則會非同步地啟動鏈結專案,現行專案則會繼續進行下一個步驟。
- 失敗通知
- 指定一旦步驟失敗,則要通知的存取群組。
- 失敗鏈
- 指定在現行步驟失敗時要啟動的專案。(設為失敗時繼續的步驟視為失敗,因此將會啟動指派給步驟的任何失敗鏈。)
- 失敗等待
- 若有勾選,則系統會暫停現行專案,直到失敗的鏈專案完成為止。如果取消這個步驟(或其專案),也會一併取消鏈結專案。