bfagent.conf ファイルには、Rational®
Build Agent をどのように実行するかについての設定が保管されます。このファイルは bfagent
実行可能ファイルと同じディレクトリーにあります。
- 設定
- activity_log path
- アクティビティー・ログをオンにします。ログ情報は、path で指定されるファイルに追加されます。パスが存在すること、およびエージェント・ユーザーがパスへの書き込み許可を持つことが必要です。
注: パスが存在しないか、またはエージェントがファイルに書き込めない場合、エージェントはエラーを報告しません。
重要: ファイル・サイズに制限はありません。ファイルは手動で削除する必要があります。この設定は、エージェントのデバッグ用に一時的に使用するためのものです。作業中のエージェントの永続ログとして設計されたものではありません。
- allow IP-address-or-range [...]
この設定は、以下の状態でのみ使用します。
- エージェントが Windows® 上で実行している
- エージェントが、UNIX® または Linux® 上で (開始時に -s オプションを使用して) スタンドアロン・モードで実行している。
この設定は、エージェントへの接続を制限します。IP-address-or-range に一致する IP アドレスからの接続のみが許可されます。
デフォルトでは、すべてのアドレスからの接続が許可されています。
以下のいずれか 1 つ、または両方を指定してください。
- 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
- この設定により、ユーザーはエージェントに明示的なバインド・アドレスを指定することができます。この設定と「port」設定の両方によって、エージェントが -s コマンド行オプションを指定して開始されたときに、接続を listen する方法を決定します。bfagent.conf ファイルに指定された値により、エージェントは IPv4 localhost アドレスに強制的にバインドされます。したがって、エージェントは同じマシン上のコンソールからの接続だけを受け取ります。例: bind 255.192.192.003
注: Windows または UNIX のエージェントが inetd、xinetd、または launchd などのシステムのサービス・アーキテクチャーによって開始された場合、この設定はこれらのエージェントに影響を与えません。
- ccviewroot root-path
- この設定は、このホストのデフォルトのビュー・ルートを指定します。詳しくは、ClearCase® の資料の init に関する説明を参照してください。内部のデフォルト設定は、以下のとおりです。
- Windows: ccviewroot
M:
- UNIX または Linux: ccviewroot /view
- command_output_cache size
- この設定により、エージェントはバイト単位で指定されたサイズに到達するまで出力をキャッシュに入れます。内部のデフォルトでは、キャッシュを行いません。
キャッシュを使用すると、エージェントのパフォーマンスを著しく向上させ、ネットワーク・オーバーヘッドを削減することができます。キャッシュ・サイズは、コマンドから生成される出力の量に依存します。
最小値は 2048 です。設定値が 2048 より小さい場合、この値が内部で使用されます。
- cygwin
この設定は Windows 上のエージェントでのみ使用します。
この設定によって、エージェントは Linux に似た環境の Cygwin を使用して、Windows ホスト上で動作できます。Cygwin を使用すると、多くの Linux ツールがエージェントで使用できます。
この設定を使用すると、cygwin_script_magic および shell の設定も行うことが必要な場合があります。これらの設定を構成した 1 つの方法を以下に示します。
cygwin
shell C:¥cygwin¥bin¥bash.exe --login -c "%s"
cygwin_script_magic #!/bin/bash
shell の設定は、Cygwin のインストレーションと一致させる必要があります。
- cygwin_script_magic
この設定は、Windows 上のエージェントで cygwin を設定した場合にのみ使用します。
この設定は、ステップを実行するときに使用する #! 行を指定します。デフォルトは #!/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
- この設定は、関数の外部ライブラリーへのパスを指定します。
関数はステップ内のドット・コマンドとして使用することができます。この設定が指定されない場合、外部ライブラリーはロードされません。
構文解析中、ステップ・コマンド内の最初のトークンは関数名として解釈されます。
2 番目のトークンはストリングで、3 番目のトークンは整数のタイムアウト値 (秒単位) です。
要件: オペレーティング・システムのダイナミック・ローダー・サポート。例えば 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() を呼び出して listen インターフェースを選択するとき、エージェントが AI_ADDRCONFIG を使用するようにします。デフォルトでは、AI_ADDRCONFIG は使用されません。
この設定を使用すると、エージェントは適切に構成されたアドレスを持たないインターフェースを無視します。適切に構成されたアドレスを持つインターフェースのみが listen されます。
- lang lang-code
この設定は、エージェントがメッセージおよびコマンド出力を書き込むのに使用する言語を指定します。
内部のデフォルトは 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 または管理者などの管理特権を使用してオペレーティング・システムにログオンします。magic_login 設定は、標準的なシステム認証の代わりとなるものです。この設定を使用すると、システムは単一のユーザー名およびパスワードでログインを認証することができます。
エージェントが root または管理者ユーザーとして実行される場合、この設定は無視され、標準の認証が試行されます。
エージェントは、ログインに使用したユーザー名でなく、エージェントを開始したユーザーのアクセス権を使用してすべてのコマンドを実行します。
この設定は、以下の状況でのみ使用します。
- 管理特権を使用してエージェントを実行することができない場合。
例えば、PAM と一緒に動作しない UNIX システムでこの設定を使用します。
- 管理特権を使用してエージェントを実行することが、セキュリティー・ポリシーの理由から許されない場合。
エージェントのログインを構成するには、以下の手順を実行します。
- ユーザー名およびパスワードを使用するサーバー認証を作成します。
- この例では、ユーザー名は build、パスワードは MySecretPassword です。
- エージェントを使用するサーバーを作成します。「認証」フィールドで、サーバー認証とこのサーバーを関連付けます。
- エージェント用にエンコードされたパスワードを生成します。エージェントのインストール・ディレクトリーで、選択したパスワードを指定して bfagent -P を実行します。
以下のように、SMD5 ハッシュでエンコードされたパスワードが返されます。
bfagent -P "MySecretPassword"
eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
- BFAgent.conf 内で、必要なユーザー名およびエンコード済みパスワードを使用するように magic_login を設定します。
magic_login build:eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
- エージェントを開始します。
- サーバー接続をテストします。「サーバー」でサーバーを選択し、「サーバーのテスト (Test Server)」をクリックします。
- map drive-and-user-spec[; ...]
- この設定は、マップされたドライブを指定します。一部のシステムではドライブ・マッピングが必要です。例えば、シェルが共有ドライブから実行されるためにドライブ・マッピングが必要な場合もあります。エージェントに指定されるマッピングは、管理コンソール内の _MAP 環境変数によって指定されるマッピングより先に実行されます。以下に示すのは、2 つのドライブ・マッピングの例です。
map X:=//host1/share;Z:=//host2/share(username,password)
- map_drive_is_failure
- この設定を指定すると、マップされていないドライブ指定が見つかった場合に、ステップを実行する前にステップを失敗させます。この設定が指定されない場合、ステップはドライブの失敗を無視し、ステップの実行を試行します。その場合、失敗によって重要なエラー・メッセージが生成されるようにしてください。
- no_preparse_command
- この設定は、エージェントがコマンドをシェルに渡す前にコマンドに対して通常実行する変数展開構文解析を無効にします。単一のプロジェクトまたはステップ用に使用できる、_NO_PREPARSE_COMMAND 環境変数も参照してください。
- no_pty
この設定は UNIX または Linux システム上で実行中のエージェントでのみ使用します。
この設定は、システム・シェルがエージェントの疑似端末と対話するとき、シェルがロックされないようにするために使用することができます。この設定は一般的に、HP/UX および z/OS® で使用します。
また、この種のロックを防ぐ目的で、以下の 2 つの方法も使用できます。
- 代替シェルを使用する。
- nologonshell 設定を使用する。
no_pty 設定は疑似端末の割り振りを無効にします。
注: no_pty を使用すると、一部のコマンドに影響を及ぼします。例えば、ls コマンドは 3 つの列ではなく単一の列で出力を返します。この設定を使用する場合は、ジョブを実稼働環境にデプロイする前に入念なテストを行ってください。
- nologonshell
この設定は UNIX または Linux 上で実行中のエージェントでのみ使用します。
この設定により、エージェントが実行するシェルは、ログオン・シェルではなく標準シェルになります。この設定は、以下の場合に行うのが一般的です。
- ログオン・シェルが詳細な出力を提供する。
- ログオン・シェルが環境設定を望ましくない方法で変更する。
- ログオン・シェルがユーザーと対話式コミュニケーションを行おうとする。
設定を行った場合、シェルはログオン・シェルでなく標準シェルであることを求める標準的なメソッドが使用されます。これはすべてのプラットフォーム上で機能するわけではなく、そのようなケースでは、shellflag 設定を使用して、シェルの動作を変更するためにフラグをシェルに渡すことができます。
これらの動作は、エージェントが対話式ユーザーではないユーザーとして実行されるため、エージェントにとって好ましくありません。
注: Mac OS X 10.5 システムでは /bin/bash を使用しますが、これは nologonshell に応答しません。shellflag
-l を使用してください。
注: z/OS オペレーティング・システムは、ログオン・シェルおよび非ログオン・シェルの両方に対して常に /etc/profile スクリプトを使用します。スクリプトの動作がエージェントに正しく作用しない場合、スクリプトの内容を変更するか、または別のシェルを使用することが必要な場合もあります。
shellflag 設定も参照してください。フラグはログオン・スクリプトの動作を変更するために使用することができます。
- password_encrypt_module dll_path;conf_path
- エージェントに対して SSL を有効にするために必要です。これは DLL および構成ファイルへのパスを指定します。
- dll_path は bfcrypt.dll へのパスです (通常は ./bfcyrpt.dll)。
- conf_path は bfpwcrypt.conf へのパスです (通常は ./bfcrypt.conf)。
- port port-number-or-range [...]
この設定は、開始時に -s オプションを使用して、UNIX または Linux 上でスタンドアロン・モードで実行中のエージェントについてのみ使用します。
この設定は、エージェントが管理コンソールとの接続を listen するのに使用するポートを指定します。
- UNIX または Linux 上でスタンドアロン・モードで実行中のエージェント (開始時に -s オプションを使用)。
エージェントが管理コンソールとの接続を listen するのに使用するポートを指定します。
注: ポートはデフォルトでは 5555 に設定されています。
UNIX または Linux の場合、設定は /etc/services にあります。
- shell shell_name [options]
- この設定はデフォルトのシェルを指定します。内部のデフォルト設定は、以下のとおりです。
- 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: ユーザー・アカウントのシェル設定か、ユーザーのシェルが判別できない場合は /bin/sh。この設定にパラメーターを指定することはできませんが、shellflag 設定を使用してパラメーターを受け渡すことができます。エージェントはハイフンを挿入することによって、このデフォルト値を強制的にログオン・シェルに指定します。例えば、/bin/ksh は -ksh として送信されます。shell が明示的に設定される場合、nologonshell が暗黙的に設定されます。nologonshell を参照してください。
- System i®: シェルの値は /bin/sh に設定します
この設定は、ステップの内部から指定変更することができます。#! を含む行で始まるステップによってシェルの設定がオーバーライドされ、nologonshell 設定を使用してステップ・コマンドを実行します。
- shell_compatible_undef_vars
- この設定は、未定義変数の表記が空ストリングになるように強制的に指定します。設定されない場合、表記はフォーマットが $VAR、${VAR}、または %VAR% の変数については変数名、フォーマットが $[VAR] のものについては空ストリングです。
- shellarg
この設定は UNIX または Linux 上で実行中のエージェントでのみ使用します。
この設定は、コマンドの順序が変えられていると思われる場合に使用します。Red Hat Linux Enterprise の一部のシェルで、この設定が必要です。
この設定では、コマンド・スクリプトをシェルに渡す方法を変更します。通常、スクリプトは次のように、標準入力を経由して渡されます。
/bin/sh < /tmp/bfshellscript.sh
この設定では、スクリプトをパラメーターとして渡すことによってスクリプトが実行されます。
/bin/sh /tmp/bfshellscript.sh
- shellflag flag
この設定は UNIX または Linux 上で実行中のエージェントでのみ使用します。
この設定では、シェルの実行中にフラグを追加します。
指定できるフラグは 1 つだけです。これは一般的に、出力または不要な処理を削減する目的で rc スクリプト処理を無効にするために使用します。
例:- csh および派生物: shellflag -f を使用して rc スクリプトの処理を無効化します。
- bash: shellflag –-noprofile を使用して profile
スクリプトの処理を無効化します。
- 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 Forge サーバーによって使用されるプロトコルと一致する必要があります。
- update_path path
この設定は、Build Forge エージェント実行可能ファイルへの絶対パスを示します。この設定は、インストール中に自動的に行われます。
ディレクトリーは、オペレーティング・システムのデフォルト・ディレクトリーか、または指定するインストール・ディレクトリーです。
注: この設定は Windows エージェントでは無視されます。更新パスは、レジストリー・キーから取得されます。鍵はエージェントのインストレーション中に設定されます。