ビルドファイルクリーナー (Swabra)
Swabra は、ビルド構成に Swabra ビルド機能を追加できる、TeamCity にバンドルされたプラグインです。 このビルド機能により、以下のことが可能になります。
ビルド中に生成されたファイルを削除します。 この機能は、ソースのチェックアウトが完了した後に、チェックアウトディレクトリ内のすべてのファイルのリストを作成します。 ビルドが終了した後 (または次のビルドが開始される前)、このリストにないファイルは自動的に削除されます。
ビルド中に変更または削除されたファイルを検出します。 このようなファイルはビルドログに報告されます (ただし、削除されたファイルは復元されません)。 これにより、以前のビルドで削除または変更された特定のソースファイルで新しいビルドが開始されないようにし、その場合はクリーンチェックアウトを開始できます。
ビルドの終了までにディレクトリをロックするプロセスをダンプします (handle.exe が必要です)。
Swabra は、DiskDir 形式を使用して、チェックアウトディレクトリの状態をキャッシュディレクトリ内の <チェックアウトディレクトリ名ハッシュ>.snapshot ファイルに保存します。 クリーンアップするチェックアウトディレクトリへのパスは、 snapshot.map ファイルに保存されます。 スナップショットには、既存のファイル、その最終変更とサイズに関する情報が保存されます。 この情報は、ビルドが終了したとき (または新しいビルドが開始されるとき) に変更を識別するために使用されます。
Swabra オプションの設定
オプション | 説明 |
|---|---|
ファイルのクリーンアップ | ビルドファイルのクリーンアップを実行するかどうか、およびいつ実行するかを選択します。 |
清潔なチェックアウト | クリーンなディレクトリ状態を復元できない場合は、強制的にクリーンチェックアウトする オプションを選択すると、新しいビルドで、リモートリポジトリに保存されているものと完全に一致するソースファイルが使用されるようになります。 Swabra がチェックアウトディレクトリ内で変更または削除されたファイルを検出した場合、 クリーンチェックアウトを強制します。 Swabra が以前のビルドで作成された残りのファイルを削除できない場合、現在のビルドは失敗します。 このオプションを無効にすると、Swabra は変更されたファイルや削除されたファイルを検出したときに警告を表示しますが、クリーンチェックアウトはトリガーしません。 |
監視するパス | Swabra が監視するファイルとディレクトリを指定するには、改行で区切られた ルールは明確さに従って並べる必要があります。ディレクトリを指し、ワイルドカードを使用する、具体性の低いルールは、個々のファイルをターゲットとする、より対象を絞ったルールの上に配置してください。 最初のルールは常にディレクトリを指す必要があります。 Swabra は 大文字と小文字を区別します。 です。 例:
|
ロック処理 | Swabra がチェックアウトディレクトリファイルをロックするプロセスを検索するかどうか、またそのようなプロセスをどのように処理するかを選択します。 Swabra では、そのようなプロセスを検出するためにエージェントに |
詳細出力 | ビルドログへの詳細なログ記録を有効にするには、このオプションをオンにします。 |
デフォルトの除外パス
ビルドでエージェントチェックアウトが使用される場合、Swabra はすべての .svn、 .git、 .hg、 CVS ディレクトリとそのコンテンツを無視します。 この動作を無効にするには、空の swabra.default.rules 構成パラメーターを指定します。
Handle のインストール
handle.exe は 管理 | ツール ページからインストールできます。
ツールをインストール ボタンをクリックし、ツールのリストから Sysinternals handle.exe を選択します。 handle.exe の最新バージョンをダウンロードするか、ローカルマシン上のパスを選択して手動でアップロードするかを指定し、 追加 をクリックします。 TeamCity サーバーが handle.exe をダウンロードまたはアップロードすると、スケジュールされたアップグレード中にこのツールを Windows エージェントへ送信します。
handle.exe を実行するには、ビルドエージェントユーザーの 管理者権限が必要であることに注意してください。
デバッグオプション
通常、スナップショットファイルはファイル収集後に削除されます。 デバッグ目的でスナップショットを保存するように swabra.preserve.snapshot システムプロパティを設定します。
クリーンチェックアウト
Swabra は、クリーンチェックアウトディレクトリの状態を復元するために、 クリーンチェックアウトを実行することがある点に注意してください。
不要で頻繁なクリーンチェックアウトを避けるには、同じチェックアウトディレクトリで動作するビルド構成には、常に同一の Swabra ビルド機能を設定してください。
同じカスタムチェックアウトディレクトリパス、または同じ VCS 設定のいずれかが構成されている場合、ビルド構成は同じチェックアウトディレクトリで動作します。