スケジュールトリガーの構成
スケジュールトリガーを使用すると 、特定の構成でビルドを自動的に実行するためのスケジュールを定義できます。 1 つのビルド構成に複数のスケジュールトリガーを追加できます。
現在の プロジェクト設定の ビルドスケジュール セクションには、構成されたビルド時間が表示されます。
トリガー条件
このセクションでは、タイミングや VCS ルールなどのスケジュールトリガーのパラメーターについて説明します。
日付と時刻
定期的なビルドをスケジュールしたり、特定の日時を設定したりできます。
特定のタイムゾーンで 毎日 または 毎週 の指定時間にビルドをトリガーするだけでなく、 cron-like 式を使用して詳細な時間設定を指定することもできます。 この形式により、より柔軟なスケジュールオプションが提供されます。
TeamCity は cron 式を扱うために Quartz を使用します。 これらの例を参照するか、 CronMaker(英語) ユーティリティを使用して Quartzcron 形式に基づいて式を生成することを検討してください。
VCS の変更
バージョン管理に保留中の変更がある場合にのみビルドを開始するようにスケジュールトリガーを制限するには、 保留中の変更がある場合のみトリガー オプションを有効化します。 このオプションでは、新しく検出された保留中の変更のみが考慮されます。トリガーが作成される前から保留中の変更があった場合、ビルドはトリガーされません。
ビルド構成のバージョン管理設定で「スナップショットの依存関係からの変更を表示する 」オプションが有効になっている場合、スケジュールトリガーは 依存関係構成からの変更も考慮します。
VCS トリガールール
トリガールールが指定されていない場合、ビルド構成で検出された変更があればビルドがトリガーされます。 VCS ルート設定を変更し、 チェックアウトルールを指定することで、検出される変更を制御できます。
ビルドをトリガーする変更を制限するには、VCS トリガールールを使用します。 これらのルールはテキスト領域に手動で追加することも (1 行に 1 つ)、 新しいルールを追加 ボタンを使用してルールを生成することもできます (必要に応じて、下にスクロールしてボタンを表示します)。

各ルールは、「include」 (プラス で始まる) または「exclude」 (- で始まる) のいずれかです。
一般的な構文
単一ルールの一般的な構文は次のとおりです。
where:
Ant_like_wildcard: 変更されたファイルパスに一致する ワイルドカード。*および**パターンのみがサポートされており、?パターンは 含まない サポートされています。 ルール内のファイルパスは、エージェントの結果パスに一致する相対パス (/または\で始まらない) または VCS ルートを基準とした VCS パスに一致する絶対パス (/で始まる) にすることができます。 変更内の各ファイルについて、最も具体的なルール (最も長いファイルパスに一致するルール) が見つかります。 一致する "include "ルールを持つファイルまたは一致する"exclude" ルールを持たないファイルが少なくとも 1 つある場合、ビルドがトリガーされます。VCS_username: 指定した場合、対応する VCS のユーザー名を持つユーザーによって行われた変更のみにルールが制限されます。VCS_root_id: 指定した場合、対応する VCS ルートからの変更のみにルールが制限されます。VCS_comment_regexp: 指定した場合、VCS コメントに指定したテキストが含まれる変更のみにルールを制限します。 コメント内のテキストを照合するには、 Java 正規表現 パターンを使用します (以下の例を参照)。 コメントテキストに一致するテキスト部分が含まれる場合、ルールは一致します。テキスト全体に一致させるには、^および$特殊文字を含めます。
トリガールールの例
サンプル | 説明 |
|---|---|
+:. | すべてのファイルを含みます |
-:**.html | すべての |
-:user = techwriter; root = InternalSVN:/misc/doc/ *.xml | VCS ユーザー |
-:lib/ ** | ビルドソースの |
-:comment = minor:** | 変更チェックのコメントに |
-:comment = ^ oops $:** | コメントが |
+:comment =#teamcity:** | コメントに |
+:comment =(? s)#teamcity.*#major:** | コメントに 例: 次のコメントがビルドをトリガーします:
#teamcity the first line
#major the second line
|
ビルドの変更
スケジュールトリガーは、指定されたビルド構成でビルドを監視し、監視されたビルドが前回のトリガー以降に変更された場合にのみビルドをトリガーできます。 監視するビルドを選択できます。
最後に完成したビルド
最後に成功したビルド
最後に ピン留めされたビルド
指定された ビルドタグを持つ最後に完了したビルド
トリガーは、監視対象の構成で選択された特性を満たす新しいビルドを検出すると、独自の構成で新しいビルドをキューに入れます。
トリガーは、ターゲットブランチ内の通常のビルド (個人または 履歴ではない) のみを監視します。 監視対象の構成が複数のブランチでビルドを完了している場合、トリガー設定には、特定のブランチ内のビルドのみを監視できる ビルドブランチフィルター フィールドも含まれます。 この設定は最初は +:<デフォルト> に設定されており、トリガーは監視対象の構成のデフォルトのブランチ内のビルドのみを監視します。
トリガーされたビルドが、スナップショットまたはアーティファクト依存関係を介してウォッチ対象ビルドに依存している場合は、" ウォッチ対象ビルドをプロモート" オプションを選択し、TeamCity が検出されたビルドをトリガーされたビルドに自動的に プロモート できるようにします。 それ以外の場合は、ビルドは通常どおりトリガーされ、検出されたビルドとは関係がなくなります。
追加オプション
クリーンチェックアウトを強制
ビルド前にチェックアウトディレクトリ内のすべてのファイルを削除する オプションを有効化して、TeamCity がビルドの実行前にチェックアウトディレクトリ内のすべてのファイルをクリーンアップするようにします。
このオプションはスナップショット依存関係にも適用できます。 この場合、ビルドチェーンのすべてのビルドで クリーンチェックアウト の使用が強制されます。 このオプションでは、すべての依存関係のリビルドも有効化されます (カスタムビルドダイアログからカスタム依存関係が指定されている場合、またはスケジュールトリガーがビルドをプロモートする場合を除きます)。
有効かつ互換性のあるすべてのエージェントでビルドをトリガー
このオプションを使用して、有効になっていてビルド構成と互換性があるすべてのエージェントで同時にビルドを実行します。 このオプションは、次のような場合に便利です。
エージェントのメンテナンス目的でビルドを実行する (たとえば、環境のアップグレードまたは更新後にエージェントが正しく機能するかどうかを確認するための設定を作成できます。)
異なるプラットフォームでビルドを実行する (たとえば、構成をセットアップして、それに異なる環境がインストールされている互換性のあるビルドエージェントを指定することができます。)
ビルドキュー最適化設定
デフォルトでは、TeamCity は ビルドキューを最適化します: すでにキューに入っているビルドは、すでに開始済みのビルドまたはより新しいキュー内のビルドに置き換えられることがあります。 対応するボックスのチェックを外すことで、このデフォルトの動作を無効化できます。
ブランチフィルター
デフォルトでは、スケジュールトリガーはすべてのブランチで機能します。
ブランチフィルターで続きを読む。
トリガールールとブランチフィルターの組み合わせ
トリガールールとブランチフィルターは および によって結合され、 両方の条件が満たされた場合 にのみビルドがトリガーされることを意味します。
例: トリガー規則フィールドにコメントテキストを指定してブランチ指定を指定した場合、コミットが指定されたテキストを持ち、ブランチフィルターと一致するブランチにある場合にのみビルドがトリガーされます。
トリガーされたビルドのカスタマイズ
トリガーの設定の ビルドカスタマイズ タブでは、このトリガーによって開始されたビルドのカスタムパラメーターを構成できます。 カスタムビルドを実行するダイアログと同様に、 ビルドパラメーターの値を上書きし、ビルド前に チェックアウトディレクトリをクリーンアップするかどうかを選択できます。
このタブでは、現在の ビルド構成 で使用されている任意の パラメーター の値をカスタマイズできます。 また、新しいパラメーターを追加することもでき、そのパラメーターはこのトリガーによって開始されるビルドでのみ使用できます。 現在のビルドに他のビルドに対する スナップショット依存関係 がある場合、このようなパラメーターを使用して、依存ビルド構成の 特定のプロパティをオーバーライド することもできます: このためには reverse.dep.<dependencyBuildID>.<property> 構文を使用します。
トリガー内でビルドパラメーターを再定義してから パラメーター で元のパラメーターを削除すると、その再定義された値がトリガー自体のプレーンテキストパラメーターに変換されることに注意してください。 安全な値をカスタマイズするときは、 「パスワード」の種類と一緒に保存された場合にのみ隠され、プレーンテキストに変換された場合に読み取り可能になるため、これを考慮することが重要です。
TeamCity では類似したタスクを複数の方法で解決でき、場合によっては別々のビルド構成を作成するほうが依然として望ましいことがあります。 たとえば、同じ構成でカスタム実行が多すぎる場合、TeamCity が各ビルドの正確な所要時間を予測しにくくなることがあります。 多数の異なるパラメーターでビルドをトリガーする必要がある場合は、 ビルド構成テンプレート を作成し、それぞれ独自のパラメーターを持つ複数の構成のブループリントとして使用することをお勧めします。