承接上篇單機安裝,本文說明如何配置 STAF 多機器執行環境,使 STAX 工作流能跨機器分發執行。核心在於各機器 STAF.cfg 的信任與介面配置,以及 STAX 服務的統一註冊。
192.168.1.100。192.168.1.101, 192.168.1.102。STAF.cfg 信任與介面設定所有機器均需修改 C:\STAF\bin\STAF.cfg:
# 1. 設定機器別名 (Controller 上設定 Agents,Agents 上設定 Controller)
# Controller 機器:
TRUST LEVEL 5 MACHINE 192.168.1.101
TRUST LEVEL 5 MACHINE 192.168.1.102
# Agent 機器:
TRUST LEVEL 5 MACHINE 192.168.1.100
# 2. 設定網路介面 (雙網卡機器必須指定)
INTERFACE 192.168.1.100 # Controller
INTERFACE 192.168.1.101 # Agent 1
# 3. 統一註冊 STAX 服務 (同單機配置)
SERVICE STAX LIBRARY JSTAF EXECUTE {STAF/Config/STAFRoot}/services/stax/STAX.jar \
OPTION J2=-Xmx384m
SERVICE EVENT LIBRARY JSTAF EXECUTE {STAF/Config/STAFRoot}/services/stax/STAFEvent.jar
SET MAXQUEUESIZE 10000
staf 192.168.1.101 ping ping,回應 PONG 即連通正常。staf 192.168.1.101 service list,確認列出 STAX、EVENT 服務。提交 STAX XML 時,使用 machine 屬性指派執行目標:
<stax>
<script>
<sequence>
<process>
<location>'192.168.1.101'</location>
<command>'cmd /c run_test.bat'</command>
</process>
</sequence>
</script>
</stax>
於 Controller 執行:staf local stax execute file /path/to/job.xml,作業將自動分發至 Agent 執行。
| 現象 | 原因 | 解決 |
|---|---|---|
| Trust 錯誤 (RC 21) | 目標機器未信任來源 IP | 雙向配置 TRUST LEVEL 5 MACHINE <IP> |
| 服務未找到 | 遠端 STAF.cfg 未註冊 STAX 或路徑錯誤 | 統一路徑、重啟 STAF 服務 |
| STAXMon 顯示離線 | EVENT 服務未啟動或防火牆阻擋 | 開放 6500/6550 埠、檢查 EVENT 服務註冊 |
多機器 STAF 環境的核心在於「信任」與「介面」的正確配置。建議採用腳本化方式批次部署 STAF.cfg,確保叢集一致性。掌握此架構,即可構建可擴展的分散式自動化測試農場。