部署基本規則

一般

TPTP 本身只關注 CLASSPATH 和 ROOTDIR 內容。

要部署的檔案

執行時要部署的檔案包括:

1.      測試專案的類別路徑上的所有檔案,但下列檔案類型除外.java.execution.testsuite.deploy.location.artifact

2.      執行測試使用的「構件」的任何相關的測試資產

3.      執行測試使用的「構件」在「一般內容」中的 CLASSPATH 內容。

 

ROOTDIR 考量

下列程序可計算 ROOTDIR:

步驟 1

TPTP 首先在遠端機器上尋找 ROOTDIR 位置內容(如果已指定);如果存在,則以此值作為這個步驟的輸出。

 

如果未指定 ROOTDIR 位置內容,或已指定但不存在遠端機器上,TPTP 會以遠端機器的環境上找到的暫時目錄來衍生一個位置內容; 依序尋找 LOCAL_AGENT_TEMP_DIR、TEMP 及 TMP,並以最先找到的值作為這個步驟的輸出。

步驟 2

TPTP 在本端機器上尋找 USR_NAME 位置內容。如果不存在,則從 Java 取出 user.name 內容 (System.getProperty("user.name")).

步驟 3

TPTP 串連步驟 1 和 2 的輸出,作為可用的 ROOTDIR。

 

CLASSPATH 考量

若要設定在 ROOTDIR 下部署並以 ROOTDIR 為根目錄的 JAR,請設定構件的 CLASSPATH 參數; 若要設定不必部署但仍需要放在類別路徑中的 JAR(例如,已存在要部署的位置/機器上), 請在您的位置中設定 CLASSPATH 參數。因此,構件和位置 CLASSPATH 的差別在於是否部署或參照 JAR,或只是在部署位置上參照。

排除的程式庫

有些程式庫雖然列在構件的類別路徑內容中,但並不會部署。它們是:

 

Agent Controller 考量

TPTP 3.3 以前的工作台用戶端無法使用 TPTP 3.3 及更新版本的代理程式控制器(必須繼續使用 TPTP 3.3 以前的舊版代理程式控制器)。 TPTP 3.3 及更新版本的用戶端可以使用舊版和新版的代理程式控制器。總而言之,TPTP 目前支援的主從架構如下:

TPTP 3.3+ 用戶端

用戶端 >= TPTP 3.3,伺服器 >= TPTP 3.3 [未受保護的 Agent Controller 使用新的檔案傳送通訊協定,安全的 AC 使用舊的檔案傳送通訊協定]

用戶端 >= TPTP 3.3,伺服器 < TPTP 3.3 [未受保護和安全的 Agent Controller 都使用舊的檔案傳送通訊協定]

TPTP 舊版用戶端

用戶端 < TPTP 3.3,Server >= TPTP 3.3 [由於舊版用戶端無法辨識新的伺服器檔案傳送通訊協定,這個組合無效]

用戶端 < TPTP 3.3,伺服器 < TPTP 3.3 [未受保護和安全的 Agent Controller 都使用舊的檔案傳送通訊協定]

TPTP 3.3 和 TPTP 4.0 已變更檔案轉送服務(加速部署),要求使用新的檔案傳送服務通訊協定, 但 TPTP 3.3 以前的任何用戶端無法辨識這種新的通訊協定,因此,測試部署將會失敗。 較新的用戶端可辨識新版和舊版的通訊協定,因此可以部署。

OS 考量

檔案路徑命名慣例

請確定內容中設定的任何檔案路徑正確地反映目標機器的 OS 命名慣例。比方說,如果從 Windows 用戶端部署至 Linux 機器, 且已指定 ROOTDIR,請確定值為 Linux 的合法路徑。

絕對路徑

所有路徑必須是絕對路徑。例如,在 Windows 上,"C:\myRootDir" 是適當的, 在 Linux 上,"/home/user/myRootDir" 是適當的 - 所有路徑皆必須為絕對,而非相對路徑。