Build Forge 使用一組簡易的物件來建構程序自動化的說明。
本節提供您主要概念和物件的概觀,以及它們之間的相關性如何。其中含有詳細說明的鏈結,以方便您使用。
使用者和角色
若要存取 Build Forge,使用者需要設定其使用者物件。在正式作業系統中,這是透過配置 Build Forge 來存取身分管理系統 LDAP 來完成。
Build Forge 會使用授權系統來控制所有物件的使用者存取權。存取群組 物件包含許可權 清單。使用者 屬於一個以上存取群組。
您可以建立自己的存取群組,或修改所提供的存取群組。系統中定義的存取群組如下所示:
- Build Engineer - 定義程序(建立專案和步驟)
- System Manager - 管理伺服器和其他系統方面的特性
- Security - 管理使用者、存取權和安全
- Developer - 協助開發程序、執行工作、檢視結果
- Operator - 複製專案、執行工作、檢視結果
- Guest - 複製專案、執行工作、檢視結果
伺服器
伺服器 物件會定義可用來執行專案和步驟的位置。專案和步驟可以使用相同的伺服器,或各自選取一部伺服器。
伺服器物件代表用來執行工作的主機。主機必須正在執行 Build Forge 代理程式,才能從系統接收工作並傳回結果。
其他物件與伺服器相關,而且需要事先設定好,才能定義專案和步驟:
- 伺服器鑑別:伺服器鑑別 會儲存登入資訊,供伺服器用來存取伺服器所指定的主機。您必須先建立伺服器鑑別,才能建立使用它的伺服器。在伺服器定義中,您可以從系統中所定義的所有伺服器鑑別清單中選擇伺服器鑑別。
- 收集器:收集器 物件會收集指定的伺服器內容。資料會儲存在資訊清單 中。伺服器會指派一組預設內容。這些內建內容包含主機架構、網路連線和資源(CPU、記憶體、負載)的相關資訊。您可以定義收集器物件來新增其他內容。您必須先建立收集器,才能將它加入伺服器。在伺服器定義中,您可以從系統中所定義的所有收集器清單中選擇收集器。
- 選取元:選取元 物件會定義如何選取伺服器供專案或步驟使用。您必須先建立選取元,才能將它加入使用它的專案。在專案定義中,您可以從系統中所定義的所有選取元清單中選擇選取元。
- 環境:環境 物件是一組可供步驟使用的變數。在工作期間,要先在伺服器主機上設定變數,才能執行步驟。環境可以與伺服器物件、專案物件和步驟物件相關聯。當相同的變數在不同的環境中設為不同的值時,繼承架構能判斷要使用哪一個值。您必須先建立環境,才能將它加入伺服器、專案或步驟。在這些物件定義中,您可以從系統中所定義的所有環境清單中選擇環境。
環境
環境 是一組變數。您可以針對伺服器、專案和步驟物件來指定環境。執行某個步驟時,將會合併在每個物件中設定的環境,以提供變數給該步驟使用。請參閱關於環境。
步驟執行時,可以變更變數。(請參閱在步驟執行期間變更變數值。)變更的範圍可以是步驟的區域變數、專案的區域變數,或是永久變數(此變數是在儲存的環境中變更)。
您可以使用預先定義的系統變數以及您定義的變數。
專案
專案 會定義要在程序中執行的工作。當專案啟動時,會將它當成工作來執行。
要執行的工作包含在步驟清單中。
與專案相關的其他物件:
- 選取元:選取元 能決定啟動專案的位置。如果沒有為專案指定選取元,該專案便無法獨立執行,並且會被稱為程式庫。您必須已定義選取元,才能將它指派給工作。
- 環境:環境 物件是一組可供步驟使用的變數。在工作期間,要先在伺服器主機上設定變數,才能執行步驟。環境可以與伺服器物件、專案物件和步驟物件相關聯。如果將相同的變數設為不同的值,那麼繼承架構能判斷要使用哪一個值。您必須先建立環境,才能建立使用它的伺服器、專案或步驟。在這些物件定義中,您可以從系統中所定義的所有環境清單中選擇環境。
- 通知範本:通知範本 會定義如何送出工作活動(工作啟動、工作通過、工作失敗、其他)的相關通知。通知物件會透過存取群組定義要通知誰。您可以在系統設定中指定 SMTP 伺服器的位置。
- 類別:基於維護的用途,可使用類別 物件將專案組成群組。一般而言,會使用類別來定期清除或保存已完成的工作。類別會影響使用專案來執行的所有工作。
- 配接器:配接器 會定義與外部系統(通常是原始碼管理系統)的整合。系統提供了數個範例範本作為起點。您需要進一步配置它們來管理連線,並在系統中執行指定的動作。
- 配接器鏈結:配接器鏈結 會在配接器與使用它的專案之間定義關係。
步驟
步驟 會定義要執行的最小工作單元。(請參閱關於步驟。)其主要元件是其「指令」內容,此內容包含要在選取的伺服器上執行的指令。
「指令」內容也可以用來執行點指令。點指令是指在程序引擎上執行,並提供附加功能的指令。
與專案相關的其他物件:
- 選取元:步驟可以有它自己的選取元。如果未指定,則會使用其專案的選取元。
- 環境:步驟可以有它自己的環境。由伺服器、專案和步驟所提供的環境會合併在一起。依預設,會依此順序來套用它們,因此由步驟的環境所定義的任何變數,其優先順序會高於相同變數的定義。您可以在系統設定中控制優先順序。
- 日誌過濾器:您可以在步驟的「結果」內容中指派日誌過濾器給此步驟。日誌過濾器 物件可以用來指定條件,指出步驟是通過還是失敗。您可以使用 Perl 表示式來掃描日誌中特定的型樣。通常會使用指令的結束狀態,但日誌過濾器提供了另一個方法。您必須先建立日誌過濾器,才能在步驟中指定它。在步驟的「結果」內容中,您可以從系統中所定義的所有日誌過濾器清單中選擇日誌過濾器。
- 通知範本:通知範本 會定義如何送出步驟活動(步驟啟動、步驟通過、步驟失敗、其他)的相關通知。通知物件會透過存取群組定義要通知誰。您可以在系統設定中指定 SMTP 伺服器的位置。
- Build Catalyst:步驟可以執行 rafmake,這是 Build
Catalyst 中的主要公用程式。Build Catalyst 提供了加速 make 型建置的方法。除了在執行 make 建置的主機上安裝 Build Forge
代理程式之外,還必須安裝 Build Catalyst。
工作
工作是執行中的專案。當工作啟動時,程序引擎會將它放到佇列中,然後再執行它。您可以在「工作」畫面中檢查其狀態。當它完成時,會顯示下列資訊:
- 結果:您可以開啟工作來檢閱所有步驟的結果。您也可以開啟執行中的工作來監視其進度。
- 步驟日誌:步驟日誌會記錄如何執行步驟的完整資訊,包含資訊清單和環境設定以及執行結果的相關資訊。請按一下「結果」頁面中的步驟結果鏈結來檢視日誌。
- 資料清單:資料清單 (BOM) 包含工作步驟和步驟資訊清單的相關資訊。您可以使用 .bom 點指令來格式化 BOM 的其他資訊,並將資料寫入此資料清單。您可以使用 .scan 點指令來新增基準線和檢查點到 BOM。
您可以取消及重新啟動工作。您可以新增專案至排程,使它們在排定的時間執行。