ビルドファイルクリーナー (Swabra)
Swabra は、TeamCity にバンドルされたプラグインで、ビルド構成に Swabra ビルド機能を追加できます。このビルド機能により、以下のことが可能になります。
ビルド中に生成されたファイルを削除します。この機能は、ソースのチェックアウトが完了した後に、チェックアウトディレクトリ内のすべてのファイルのリストを作成します。ビルドが終了した後 (または次のビルドが開始される前)、このリストにないファイルは自動的に削除されます。
ビルド中に変更または削除されたファイルを検出します。このようなファイルはビルドログに報告されます (ただし、削除されたファイルは復元されません)。これにより、以前のビルドで削除または変更された特定のソースファイルで新しいビルドが開始されないようにし、その場合はクリーンチェックアウトを開始できます。
ビルドの終了までにディレクトリをロックするプロセスをダンプします (handle.exe が必要です)。
Swabra は、DiskDir 形式を使用して、チェックアウトディレクトリの状態をキャッシュディレクトリ内の <checkout-directory-name-hash>.snapshot ファイルに保存します。クリーンアップするチェックアウトディレクトリへのパスは、snapshot.map ファイルに保存されます。スナップショットには、既存のファイル、その最終変更とサイズに関する情報が保存されます。この情報は、ビルドが終了したとき (または新しいビルドが開始されるとき) に変更を識別するために使用されます。
Swabra オプションの構成
オプション | 説明 |
|---|---|
ファイルのクリーンアップ | ビルドファイルのクリーンアップを実行するかどうか、およびいつ実行するかを選択します。 |
清潔なチェックアウト | クリーンディレクトリ状態を復元できない場合は、クリーンチェックアウトを強制するオプションを選択すると、新しいビルドで、リモートリポジトリに保存されているものと完全に一致するソースファイルが使用されるようになります。Swabra は、チェックアウトディレクトリで変更または削除されたファイルを検出すると、クリーンチェックアウトを強制します。Swabra が以前のビルドで作成された残りのファイルを削除できない場合、現在のビルドは失敗します。 このオプションを無効にすると、Swabra は変更されたファイルや削除されたファイルを検出したときに警告を表示しますが、クリーンチェックアウトはトリガーしません。 |
監視するパス | Swabra が監視するファイルとディレクトリを指定するには、改行で区切られた ルールは、その明確さに従って配置する必要があります。つまり、ディレクトリを指し、ワイルドカードを使用する、あまり具体的でないルールは、個々のファイルを指す、よりターゲットを絞ったルールの上に配置する必要があります。最初のルールは常にディレクトリを指す必要があります。 Swabra は case-sensitive です。 例:
|
ロック処理 | Swabra がチェックアウトディレクトリファイルをロックするプロセスを検索するかどうか、またそのようなプロセスをどのように処理するかを選択します。Swabra では、そのようなプロセスを検出するためにエージェントに |
詳細出力 | ビルドログへの詳細なログ記録を有効にするには、このオプションをオンにします。 |
デフォルトの除外パス
ビルドでエージェントチェックアウトが使用される場合、Swabra はすべての .svn、.git、.hg、CVS ディレクトリとそのコンテンツを無視します。この動作を無効にするには、空の swabra.default.rules 構成パラメーターを指定します。
ハンドルのインストール
handle.exe は管理からインストールできます | ツールページ。
インストールツールボタンをクリックし、ツールのリストから Sysinternals handle.exe を選択します。
handle.exe の最新バージョンをダウンロードするか、ローカルマシン上のパスを選択して手動でアップロードするかを指定して、追加をクリックします。TeamCity サーバーは handle.exe をダウンロードまたはアップロードした後、スケジュールされたアップグレード中にこのツールを Windows エージェントに送信します。
handle.exe を実行するには、ビルドエージェントユーザーの管理者権限が必要であることに注意してください。
デバッグオプション
通常、スナップショットファイルはファイル収集後に削除されます。デバッグ目的でスナップショットを保存するように swabra.preserve.snapshot システムプロパティを設定します。
クリーンチェックアウト
Swabra により、クリーンチェックアウトディレクトリの状態を復元するためにクリーンチェックアウトが発生する場合があることに注意してください。
不要な頻繁なクリーンチェックアウトを回避するには、同じチェックアウトディレクトリで作業するビルド構成に対して常に同一の Swabra ビルド機能を設定します。
同じカスタムチェックアウトディレクトリパスまたは同じ VCS 設定が構成されている場合、ビルド構成は同じチェックアウトディレクトリで機能します。
関連ページ:
ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。TeamCity ビルドの特徴:TeamCity には、構成に追加できる次のビルド機能が付属しています。A...
VCS チェックアウトモード
ビルド構成のバージョン管理設定ページでは、プロジェクトのソースコードを VCS から取得する方法を構成できます。VCS ルートを接続してチェックアウトオプションを構成できます。VCS チェックアウトモードは、プロジェクトソースがエージェントに到達する方法に影響する設定です。このモードは、ソースのチェックアウトのみに影響します。現在のリビジョンおよび変更データの取得ロジックは TeamCity サーバーによって実行されるため、TeamCity サーバーはどのモードでも VCS サーバーにアクセスする...
ビルドキャッシュ
「ビルドキャッシュ」機能を使用すると、ビルド構成やジョブで、ビルド実行中に生成された特定のファイル(ダウンロードされた npm パッケージや Maven ローカルリポジトリアーティファクトなど)を公開できます。公開されたキャッシュは、公開した構成、または他の構成やジョブによって、後続のビルドで再利用できます。この手法により、ビルドルーチンが最適化され、高速化されます。共通情報:パブリッシャーとコンシューマーをキャッシュするビルドキャッシュ機能を 2 つのモードのいずれかで動作するように設定できます。...