bfagent.conf 參照

bfagent.conf 檔儲存有關如何執行 Rational® Build Agent 的設定。檔案所在的目錄和 bfagent 執行檔相同。

檔案會列出所有的設定與內部預設值。非作用中設定則會註銷。

設定
activity_log path
開啟活動記載。資訊會附加至 path 指定的檔案中。路徑必須存在,且代理程式使用者必須具備它的寫入權。
註: 如果路徑不存在,或者無法寫入檔案,代理程式並不會報告錯誤。
重要: 檔案大小沒有限制。檔案必須手動刪除。這項設定是暫用的,主要用來除錯代理程式。它不是作為工作中代理程式的永久日誌。
allow IP-address-or-range [...]
只有在下列情況下才使用這項設定:
  • 代理程式在 Windows® 中執行
  • 啟動時使用 -s 選項,讓代理程式在 UNIX® 或 Linux® 中以獨立模式執行。

這項設定會限制連接至代理程式的連線。只容許來自符合 IP-address-or-range 的 IP 位址的連線。依預設,可容許來自所有位址的連線。

請指定下列這兩個選項或其中之一:
  • IP 位址:完整的 IPv4 或 IPv6 位址。例如,IPv4 可以是 255.192.192.003。可接受特定 IP 位址。
  • IP 位址範圍:部分限定的 IPv4 或 IPv6 位址。例如,以 IPv4 來說,192.168 或 192.168.63 都是正確的。可接受符合這項限定的所有 IP 位址。
註: 如果您是在 inetd 或 xinetd 等超級伺服器上執行代理程式,請使用另一種方法來控制存取。您可以使用防火牆、TCP 封套(hosts.allow 與 hosts.deny),或 xinetd 的內建過濾功能。
bind
這項設定容許使用者為代理程式指定明確的連結位址。如果代理程式是以 -s 指令行選項啟動,當此項與 "port" 設定一起使用時,將決定代理程式要如何接聽連線。在 bfagent.conf 檔中提供的值,會強制代理程式連結至 IPv4 本端主機位址;因此,代理程式只會接收來自位於相同機器上之主控台的連線。範例:bind 255.192.192.003
註: 對於由系統的服務架構 (例如 inetd、xinetd 或 launchd)所啟動的 Windows 或 UNIX 代理程式,則不受影響。
ccviewroot root-path
這項設定是指定這個主機的預設視圖根路徑。如需相關資訊,請參閱有關 init 的 ClearCase® 文件。內部預設值如下:
  • Windows:ccviewroot M:
  • UNIX 或 Linux:ccviewroot /view
command_output_cache size
這項設定會使得代理程式快取輸出,直到抵達指定的大小(以位元組為單位)為止。內部預設值是不快取。使用快取可以大幅改善代理程式的效能,並減少網路額外負荷。快取大小取決於指令所產生的輸出量而定。

最小值:2048。如果設定小於 2048,就會在內部使用 2048。

cygwin

這項設定僅適用於 Windows 上的代理程式。

這項設定可讓代理程式在使用 Cygwin(一種類似 Linux 的環境)的 Windows 主機上運作。當使用 Cygwin 時,代理程式即能使用一些 Linux 工具。

在您使用這項設定時,您可能還需要設定 cygwin_script_magic 與 Shell 設定。下列範例顯示一種用來配置這些設定的方式:
cygwin
shell C:\cygwin\bin\bash.exe --login -c "%s"
cygwin_script_magic #!/bin/bash

Shell 設定必須符合您所安裝的 Cygwin。

cygwin_script_magic

當設定 cygwin時,這項設定僅適用於 Windows 上的代理程式。

這項設定指定當執行步驟時要使用的 #! 行。預設值是 #!/bin/bash

default_logon_domain
指定當鑑別要求沒有包含網域時,所要使用的網域。如果沒有指定,就會使用代理程式機器的網域。
disable_telnet
如果要取得最佳結果,請使用 Telnet 來測試代理程式連線。
對代理程式來說,某些內建處理程序的額外負荷,與處理程序和正確處理 Telnet 控制順序相關聯。
您可以使用這項設定,讓代理程式無法處理特殊 Telnet 字元碼,而這樣可微幅改善效能。在產品環境中,使用這項設定,可因效能改善而受惠。
disable_transcode
關閉代理程式為了轉換國際資料(因為作業系統不是使用 UTF-8 編碼)而執行的處理程序。為了避免混合編碼與資料毀損,請讓代理程式的作業系統採用 UTF-8。
如果作業系統並非使用 UTF-8 編碼,代理程式必須將資料轉換成作業系統語言環境設定的正確編碼。
如果您的作業不是使用 UTF-8,請使用這項設定,取得代理程式的最佳結果並改善效能。
enable_agent_dll
這項設定會啟用「DLL 程序追蹤」這項除錯工具。
env_recursion_limit number-of-recursions
設定預先剖析的變數取代遞迴限制。若未設定,則限制是 32。
extensions
這項設定是指定函數外部程式庫的路徑。函數可作為步驟中的點指令。如果沒有指定這項設定,就不會載入外部程式庫。

在剖析期間,會以逐步指令中的第一個記號作為函數名稱。第二個記號是字串,第三個是整數逾時值(以秒為單位)。

需求:作業系統中的動態載入器支援。例如,在 UNIX 或 Linux 中,您需要 /usr/include/dlfcn.h。這些預設值供內部使用。
  • UNIX 或 Linux:/usr/local/bin/bfextensions.so
  • Windows:c:\program files\ibm\build forge\agent\bfextensions.dll
getaddrinfo_using_addrconfig
只有在代理程式以獨立式服務形式在 UNIX 或 Linux 作業系統上執行時 (bfagent -s),才會使用這項設定。當呼叫 getaddrinfo() 來選取接聽介面時,這項設定會使得代理程式使用 AI_ADDRCONFIG。依預設,不會使用 AI_ADDRCONFIG。

如果您使用這項設定,代理程式會忽略未適當配置位址的介面。它只會接聽已適當配置位址的介面。

lang lang-code

這項設定指定代理程式在撰寫訊息和指令輸出時所用的語言。

內部預設值是 en,這是視同它明確設定成如下:

lang en
leave_tmp_file

這項設定只在您要疑難排解時使用。

這項設定會保留用來保存逐步指令的暫存檔,而不會在執行指令之後將它刪除。

註: 請勿將這項設定用於一般作業。
locale locale-code.charset-code

這項設定僅適用於 UNIX 和 Linux 作業系統。Windows 處理語言環境的作法不同。

這項設定指定以本地化的方式使用應用程式時,所用的語言和多位元組字集。如果要讓這項設定生效,請設定代理程式環境定義的 LANG 環境變數。

如果要設定代理程式,使其將指令輸出視為美式英文 UTF-8,請讓您的作業系統採用 UTF-8 語言環境。例如,在 Linux 中使用下列的表示法。
locale en_US.UTF-8

如果要判斷您作業系統的 UTF-8 語言環境表示法是否正確,請執行 locale -a 指令。

如果沒有指定這項設定,代理程式會使用作業系統的語言環境。這項設定相當便利好用。尤其是如果作業系統的預設語言環境,不是您希望代理程式使用的語言環境,這項設定就可派上用場。再者,如果變更系統語言環境只為了符合代理程式需求,而非務實作法,更可善用這項設定。

magic_login user:encoded-password

一般而言,代理程式使用 root 或 admin 等管理專用權來登入作業系統。magic_login 設定可作為標準系統鑑別的替代方案。透過這項設定,系統可以使用單一使用者名稱與密碼來鑑別您的登入。

如果代理程式是以 root 或 admin 使用者身分執行,會忽略這項設定,並嘗試採取一般鑑別方式。

代理程式執行所有的指令時,所用的是啟動代理程式之使用者的許可權,而非使用登入時所用的使用者名稱。

只有在下列情況,才會使用這項設定:
  • 不可能使用管理專用權來執行代理程式。例如,在不使用 PAM 的 UNIX 系統中使用這項設定。
  • 因安全原則,而不允許使用管理專用權來執行代理程式。
如果要為代理程式配置登入,請執行下列動作:
  1. 建立一項採用使用者名稱與密碼的伺服器鑑別。
  2. 就本例來說,使用者名稱是 build,密碼是 MySecretPassword。
  3. 建立使用代理程式的伺服器。在鑑別欄位中,讓伺服器鑑別與這個伺服器產生關聯。
  4. 為代理程式產生一個編碼密碼。在代理程式的安裝目錄中,使用您選擇的密碼來執行 bfagent -P

    如下所示,這會傳回以 SMD5 雜湊編碼的密碼:

    bfagent -P "MySecretPassword"
    eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
  5. BFAgent.conf 中,將 magic_login 設定為使用所要的使用者名稱與編碼密碼。
    magic_login build:eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
  6. 啟動代理程式。
  7. 測試伺服器連線。在伺服器中,選取伺服器,然後按一下測試伺服器
map drive-and-user-spec[; ...]
這項設定指定對應磁碟機。某些系統可能需要磁碟機對應。例如,因為 Shell 從共用磁碟機執行,而可能需要磁碟機對應。代理程式中指定的對應,會比「管理主控台」中 _MAP 環境變數所指定的對應先執行。這個範例說明兩個磁碟機對應:
map X:=//host1/share;Z:=//host2/share(username,password)
map_drive_is_failure
當指定此項時,只要發現指定了非對應磁碟機,這項設定就會在步驟執行之前讓步驟失敗。如果沒有指定這項設定,步驟就會忽略磁碟機失敗,並試圖執行步驟。在該情況下,請確定失敗會產生有意義的錯誤訊息。
no_preparse_command
這項設定會停用變數擴充剖析;一般而言,代理程式在將指令傳遞給 Shell 之前,會對指令執行這項剖析。另請參閱可用於單一專案或步驟的 _NO_PREPARSE_COMMAND 環境變數。
no_pty

這項設定僅適用於在 UNIX 或 Linux 系統上執行的代理程式。

在 Shell 與代理程式的虛擬終端機互動時,這項設定有助於避免鎖定系統 Shell。一般而言,這項設定是搭配 HP-UX 與 z/OS® 使用。您也可以使用其他兩種方法,協助避免發生這樣的鎖定:
  • 使用替代 Shell。
  • 使用 nologonshell 設定
no_pty 設定會停用虛擬終端機的配置。
註: 使用 no_pty 會影響某些指令。例如,ls 指令會以單一直欄而非三個直欄來傳回輸出。如果您使用這項設定,在您將工作部署至正式作業環境之前,必須先經過徹底測試。
nologonshell

這項設定僅適用於在 UNIX 或 Linux 上執行的代理程式。

這項設定會使得代理程式所要執行的 Shell,變成一般 Shell 而非登入 Shell。這項設定通常用於下列情況:
  • 登入 Shell 提供詳細輸出。
  • 登入 Shell 以非您所要的方式變更了環境設定。
  • 登入 Shell 試圖和使用者進行互動式通訊。

當設定此項時,會採用標準方法,要求 Shell 必須是一般 Shell 而非登入 Shell。這不見得適用於所有平台,若有這類情況,可使用 shellflag 設定傳遞旗標給 Shell,以修改其行為。

代理程式並不需要那些行為,因為它是以使用者身分而非互動使用者身分執行。
註: Mac OS X 10.5 系統使用 /bin/bash,而這不會對 nologonshell 做出回應。請使用 shellflag -l
註: 不論是登入 Shell 或非登入 Shell,z/OS 作業系統一律都是使用 /etc/profile Script。如果其行為無法與代理程式之間搭配良好,您可能需要變更 Script 的內容,或使用另一個 Shell。

另請參閱 shellflag 設定。可以使用旗標來變更登入 Script 行為。

password_encrypt_module dll_path;conf_path
需要在代理程式中啟用 SSL。它指定 DLL 與配置檔的路徑。
  • dll_pathbfcrypt.dll 的路徑(通常是 ./bfcyrpt.dll)。
  • conf_pathbfpwcrypt.conf 的路徑(通常是 ./bfcrypt.conf)。
port port-number-or-range [...]

只有當您在啟動時發出 -s 選項,讓代理程式在 UNIX 或 Linux 中以獨立模式執行時,才會使用這項設定。

這項設定指定代理程式透過「管理主控台」來接聽連線時,所要使用的埠。
  • 在 UNIX 或 Linux 中以獨立模式執行的代理程式(啟動時使用 -s 選項)。
指定代理程式透過「管理主控台」來接聽連線時,所要使用的埠。
註: 依預設,會將埠設為 5555。若為 UNIX 或 Linux,這項設定位於 /etc/services 中。
shell shell_name [options]
這項設定指定預設 Shell。內部預設值如下:
  • Windows:shell cmd.exe /q /c "%s",除非使用下列設定:
    • 如果使用 cygwin 設定,預設值為 shell C:\cygwin\bin\bash.exe --login -c "%s"
    • 如果沒有使用 cygwin 設定,預設值為 shell cmd.exe /u /q /c "%s"
  • UNIX 或 Linux:設定給使用者帳戶的 Shell,或是 /bin/sh(如果無法判斷使用者 Shell 的話)。請注意,您無法在這項設定中指定參數,但是您可以使用 shellflag 設定來傳遞它們。代理程式會插入一個連字號,自動將預設值強制設為登入 Shell。例如,將 /bin/ksh 傳送成 -ksh。如果明確設定 shell,就會隱含設定 nologonshell。請參閱 nologonshell
  • System i®:將 Shell 值設為 /bin/sh

您可以從步驟來置換這項設定。以含有 #! 的字行為開頭的步驟會置換 Shell 設定,而 nologonshell 設定用來執行逐步指令。

shell_compatible_undef_vars
這項設定會強制用空字串來表示未定義的變數。如果沒有設定,就會用變數名稱來表示 $VAR、${VAR} 或 %VAR% 格式的變數,用空字串來表示 $[VAR]。
shellarg

這項設定僅適用於在 UNIX 或 Linux 上執行的代理程式。

如果指令看起來很雜亂,請使用這項設定。Red Hat Linux Enterprise 中的某些 Shell 需要這項設定。

這項設定會變更將指令 Script 傳遞給 Shell 的方式。一般而言,Script 是透過標準輸入來傳遞:
   /bin/sh < /tmp/bfshellscript.sh
這項設定會將 Script 當成參數傳遞來執行它們:
/bin/sh /tmp/bfshellscript.sh
shellflag flag

這項設定僅適用於在 UNIX 或 Linux 上執行的代理程式。

這項設定會在 Shell 執行時新增旗標。只能指定一個旗標。一般而言,它用來停用 rc Script 處理程序,以減少輸出或不必要的處理。

範例:
  • csh 與 derivatives:使用 shellflag -f 來停用 rc Script 處理程序。
  • bash:使用 shellflag –-noprofile 來停用設定檔 Script 處理程序。
ssl_ca_location path
指定內含憑證管理中心的金鑰儲存庫檔。如果代理程式是以服務形式執行,請使用絕對路徑。
ssl_cert_location path
指定內含私密憑證的金鑰儲存庫。如果代理程式是以服務形式執行,請使用絕對路徑。
ssl_client_authentication [true | false]
當設為 true,則在建立與代理程式的連線時,會要求進行用戶端鑑別。若為 true,必須將 Build Forge® 引擎的憑證新增至代理程式的憑證管理中心金鑰儲存庫中。
ssl_cipher_group [grouplist | ALL]
指定要使用的個別密碼群組。可設為 ALL。
ssl_cipher_override cyphers
置換密碼群組。請指定要使用的密碼。
ssl_key_location path
指定內含金鑰的金鑰儲存庫檔。如果代理程式是以服務形式執行,請使用絕對路徑。
ssl_key_password password
金鑰的密碼。依預設,會以明碼形式來儲存這項內容。您可以讓代理程式使用自己的金鑰或 Build Forge 伺服器的金鑰,來加密這個密碼。
ssl_protocol protocol
要使用的 SSL 信號交換通訊協定,可以是下列之一:SSL、SSLv2、SSLv3、SSL_TLS、TLS、TLSv1。通訊協定必須符合 Build Forgee 伺服器使用的通訊協定。
update_path path
這項設定識別 Build Forge 代理程式執行檔的完整路徑。在安裝期間會自動建立設定。目錄是作業系統的預設目錄,或是您指定的安裝目錄。
註: 在 Windows 代理程式中,會忽略這項設定。更新路徑取自登錄機碼。機碼是在安裝代理程式期間設定。
win_reexec_after_auth
如果您需要使用 Build Forge 伺服器鑑別認證,在網路共用檔案系統中執行代理程式指令,請新增這項設定。例如,如果要在 ClearCase 動態視圖中修改檔案,代理程式必須存取網路共用檔案系統中的 ClearCase 檔案。
Build Forge 代理程式在初次啟動時,使用的是 Windows 系統帳戶認證。為了執行指令,代理程式之後就會使用 Build Forge 伺服器鑑別認證向 Windows 鑑別。
如果沒有指定這項設定,網路共用磁碟機只能辨識起始的 Windows 系統帳戶認證,而會忽略後續這些需要存取並寫入至網路共用檔案系統中之檔案的伺服器鑑別認證。
在使用伺服器鑑別認證向 Windows 重新鑑別之後,win_reexec_after_auth 會啟動新程序,並強制共用檔案系統辨識已變更的認證。
當您使用 win_reexec_after_auth 設定時,代理程式會以服務形式執行,且不會識別哪些指令會存取網路共用檔案,哪些指令不會,因此您可能需注意效能衝擊問題。

意見

以上說明對您有幫助嗎?您可以在 Jazz.net 網站中提供意見(需要登錄):在討論區中提供意見提交錯誤