TeamCity オンプレミス 2025.11 ヘルプ

スケジュールトリガーの設定

スケジュールトリガーを使用すると、特定の構成でビルドを自動的に実行するためのスケジュールを定義できます。1 つのビルド構成に複数のスケジュールトリガーを追加できます。

現在のプロジェクト設定スケジュールを構築するセクションには、構成されたビルド時間が表示されます。

トリガー条件

このセクションでは、タイミングや VCS ルールなどのスケジュールトリガーのパラメーターについて説明します。

日時

定期的なビルドをスケジュールしたり、特定の日時を設定したりできます。

特定のタイムゾーンで毎日または毎週の指定時間にビルドをトリガーするだけでなく、cron -like 式を使用して詳細な時間設定を指定することもできます。この形式により、より柔軟なスケジュールオプションが提供されます。

TeamCity は、cron 式の操作に石英(英語)を使用します。これらの例を参照するか、CronMaker(英語) ユーティリティを使用して Quartzcron 形式に基づいて式を生成することを検討してください。

VCS の変更

保留中の変更がある場合にのみトリガしますオプションを有効にすることで、バージョン管理に保留中の変更がある場合にのみ、スケジュールトリガーを制限してビルドを開始できます。このオプションは、新しく検出された保留中の変更のみを考慮します。トリガーが作成される前に保留中の変更があった場合、ビルドはトリガーされません。

ビルド構成のバージョン管理設定で「スナップショットの依存関係からの変更を表示する」オプションが有効になっている場合、スケジュールトリガーは依存関係構成からの変更も考慮します

VCS トリガールール

トリガールールが指定されていない場合、ビルド構成で検出された変更があればビルドがトリガーされます。VCS ルート設定を変更し、チェックアウトルールを指定することで、検出される変更を制御できます。

ビルドをトリガーする変更を制限するには、VCS トリガールールを使用します。これらのルールはテキスト領域に手動で追加することも (1 行に 1 つ)、新しいルールを追加ボタンを使用してルールを生成することもできます (必要に応じて、下にスクロールしてボタンを表示します)。

Adding trigger rule

各ルールは、「include」 ( + で始まる) または「exclude」 ( - で始まる) のいずれかです。

一般的な構文

単一ルールの一般的な構文は次のとおりです。

+|-[:[user=VCS_username;][root=VCS_root_id;][comment=VCS_comment_regexp]]:Ant_like_wildcard

where:

  • Ant_like_wildcard : 変更されたファイルパスに一致するワイルドカード* および ** パターンのみがサポートされており、? パターンはサポートされていません。ルール内のファイルパスは、エージェントの結果パスに一致する相対パス (/ または \ で始まらない) または VCS ルートを基準とした VCS パスに一致する絶対パス (/ で始まる) にすることができます。変更内の各ファイルについて、最も具体的なルール (最も長いファイルパスに一致するルール) が見つかります。一致する "include "ルールを持つファイルまたは一致する"exclude" ルールを持たないファイルが少なくとも 1 つある場合、ビルドがトリガーされます。

  • VCS_username : 指定した場合、対応する VCS のユーザー名を持つユーザーによって行われた変更のみにルールが制限されます。

  • VCS_root_id : 指定した場合、対応する VCS ルートからの変更のみにルールが制限されます。

  • VCS_comment_regexp : 指定されている場合、VCS コメントに指定されたテキストを含む変更のみにルールを制限します。コメント内のテキストを照合するには、Java 正規表現(英語)パターンを使用します(以下の例を参照)。ルールは、コメントテキストに一致するテキスト部分が含まれている場合に一致します。テキスト全体と一致させるには、^ および $ 特殊文字を含めます。

トリガルールの例

サンプル

説明

+:.

すべてのファイルを含みます

-:**.html

すべての .html ファイルがビルドをトリガーするのを除外します。

-:user = techwriter; root = InternalSVN:/misc/doc/ *.xml

VCS ユーザー techwriter によって Internal SVN という名前の VCS ルートの misc/doc ディレクトリにチェックインされた .xml ファイルによってトリガーされるビルドを除外します(VCS 設定で定義されています)。パスは絶対パス(/ で始まる)であるため、ファイルパスは VCS ルートから一致することに注意してください。

-:lib/ **

ビルドソースの lib ディレクトリ (エージェントに表示される) への更新によってビルドがトリガーされるのを防ぎます。パスは相対パスであるため、ディレクトリに配置されたすべてのファイル (VCS ルートチェックアウトルールの処理によって) によってビルドがトリガーされるわけではないことに注意してください。

-:comment = minor:**

変更チェックのコメントに minor という単語が含まれている場合、ビルドがトリガーされないようにします。

-:comment = ^ oops $:**

コメントが oops 単語のみで構成されている場合、トリガーはありません(Java 正規表現(英語)の原則に従って、パターン内の ^ および $ は、文字列の開始と終了を表します)。

+:comment =#teamcity:**

コメントに #teamcity キーワードが含まれている場合、ビルドをトリガーします。

+:comment =(? s)#teamcity.*#major:**

コメントに #teamcity キーワードと #major キーワードの両方が含まれている場合、ビルドをトリガーします。ここで、(?s)DOTALL パターン(英語)であり、文字 . を行ターミネーターを含む任意の文字と一致させ、複数行コメントをチェックできるようにします。

例: 次のコメントがビルドをトリガーします:

#teamcity the first line #major the second line

変更をビルド

スケジュールトリガーは、指定されたビルド構成でビルドを監視し、監視されたビルドが前回のトリガー以降に変更された場合にのみビルドをトリガーできます。監視するビルドを選択できます。

トリガーは、監視対象の構成で選択された特性を満たす新しいビルドを検出すると、独自の構成で新しいビルドをキューに入れます。

トリガーは、ターゲットブランチ内の通常のビルド ( 個人または履歴ではない) のみを監視します。監視対象の構成が複数のブランチでビルドを完了している場合、トリガー設定には、特定のブランチ内のビルドのみを監視できるブランチフィルターの作成フィールドも含まれます。この設定は最初は +:<default> に設定されており、トリガーは監視対象の構成のデフォルトのブランチ内のビルドのみを監視します。

トリガーされたビルドがスナップショットまたはアーティファクト依存関係を介して監視対象ビルドに依存している場合は、「監視ビルドを促進する」オプションを選択して、TeamCity が検出されたビルドをトリガーされたビルドに自動的に昇格できるようにします。それ以外の場合は、ビルドは通常どおりトリガーされ、検出されたビルドとは関係がなくなります。

追加オプション

クリーンチェックアウトを実施する

ビルド前に checkout ディレクトリ内のすべてのファイルを削除しますオプションを有効にすると、ビルドを実行する前に、TeamCity がチェックアウトディレクトリ内のすべてのファイルを強制的にクリーンアップします。
このオプションは、スナップショットの依存関係にも適用できます。この場合、ビルドチェーンのすべてのビルドで、クリーンチェックアウトが強制的に使用されます。このオプションでは、すべての依存関係の再構築も有効になります (カスタムビルドダイアログでカスタム依存関係が指定されている場合、またはスケジュールトリガーによってビルドが促進されている場合を除く)。

すべての有効で互換性のあるエージェントでビルドをトリガー

このオプションを使用して、有効になっていてビルド構成と互換性があるすべてのエージェントで同時にビルドを実行します。このオプションは、次のような場合に便利です。

  • エージェントのメンテナンス目的でビルドを実行する (たとえば、環境のアップグレードまたは更新後にエージェントが正しく機能するかどうかを確認するための設定を作成できます。)

  • 異なるプラットフォームでビルドを実行する (たとえば、構成をセットアップして、それに異なる環境がインストールされている互換性のあるビルドエージェントを指定することができます。)

ビルドキューの最適化設定

デフォルトでは、TeamCity はビルドキューを最適化します。つまり、すでにキューに入れられているビルドは、すでに開始されているビルドまたはより最近キューに入れられたビルドに置き換えられます。対応するボックスのチェックを外すと、このデフォルトの動作を無効にすることができます。

ブランチフィルター

デフォルトでは、スケジュールトリガーはすべてのブランチで機能します。

さらに読むブランチフィルター

トリガルールとブランチフィルターの組み合わせ

トリガールールとブランチフィルターは AND によって結合され、両方の条件が満たされた場合にのみビルドがトリガーされることを意味します。

例: トリガー規則フィールドにコメントテキストを指定してブランチ指定を指定した場合、コミットが指定されたテキストを持ち、ブランチフィルターと一致するブランチにある場合にのみビルドがトリガーされます。

トリガーされたビルドのカスタマイズ

トリガーの設定のビルドのカスタマイズタブでは、このトリガーによって開始されたビルドのカスタムパラメーターを構成できます。カスタムビルドを実行するダイアログと同様に、ビルドパラメーターの値を上書きし、ビルド前にチェックアウトディレクトリをクリーンアップするかどうかを選択できます。

このタブでは、現在のビルド構成で使用されているパラメーターの値をカスタマイズできます。または、新しいパラメーターを追加することもできます。このパラメーターは、このトリガーによって開始されたビルドでのみ使用できます。現在のビルドに他のビルドとのスナップショットの依存関係がある場合、そのようなパラメーターを使用して、依存関係ビルド構成の特定のプロパティをオーバーライドすることもできます。これには reverse.dep.<dependencyBuildID>.<property> 構文を使用します。

トリガー内でビルドパラメーターを再定義してからパラメーターで元のパラメーターを削除すると、その再定義された値がトリガー自体のプレーンテキストパラメーターに変換されることに注意してください。安全な値をカスタマイズするときは、「パスワード」の種類と一緒に保存された場合にのみ隠され、プレーンテキストに変換された場合に読み取り可能になるため、これを考慮することが重要です。

TeamCity を使用すると、同様のタスクを複数の方法で解決できます。場合によっては、異なるビルド構成を作成することが望ましい場合もあります。例: 同じ構成でカスタム実行が多すぎる場合、TeamCity が各ビルドの正確な期間を予測するのが難しい場合があります。多数の異なるパラメーターを使用してビルドをトリガーする必要がある場合は、ビルド構成テンプレートを作成し、それぞれが独自のパラメーターを持つ複数の構成の青写真として使用することをお勧めします。

2025 年 4 月 07 日

関連ページ:

プロジェクト管理者ガイド

このセクションでは、プロジェクト管理に焦点を当てます。TeamCity プロジェクトとビルド構成の作成、ビルドステップの設定、依存関係チェーンの構成などについて説明します。基本的な TeamCity ワークフロー:次のダイアグラムは、基本的な TeamCity ワークフローを示しています。TeamCity サーバーはリポジトリの変更を検出しました。サーバーはこの変更をデータベースに書き込みます。ビルド構成に添付されたトリガーは、データベース内の関連する変更を検出し、ビルドを開始します。トリガー...

スケジュールを構築する

現在のプロジェクトのビルド構成にスケジュールトリガーを構成している場合は、プロジェクト設定サイドバーでスケジュールを構築するをクリックすると、ビルドスケジュールページが表示されます。利用可能なスケジュールを簡単に表示してビルドを計画し、依存するハードウェアおよびソフトウェアリソースの割り当てを最適化できます。このページからトリガーを編集できます。次の拡張オプションが提供されます。無効なトリガーを表示する対応するビルド構成のトリガーページから無効化されたスケジュールトリガーが含まれます。一時停止し...

CRON 式

TeamCity を使用すると、cron 形式を使用して通常の操作を柔軟にスケジュールできます。現在、cron のような式がスケジュールトリガーとサーバーのクリーンアップでサポートされています。TeamCity は cron 式を扱うために石英を使います。以下の例を参照するか、CronMaker ユーティリティを使用して Quartz cron 形式に基づいて式を生成することを検討してください。TeamCity の cron 形式:cron 式は、6 つのフィールドと、空白で区切られた 1 つのオ...

一般的な依存関係の概念

このページでは、例に基づいて、TeamCity で依存関係がどのように機能するかについての一般的な考え方を示します。依存関係の説明については、ビルド構成の依存関係を参照してください。多くの場合、あるビルドの出力を別のビルドで使用するだけでなく、同じソースで複数のビルドを順次または並列に実行すると便利です。典型的な例を考えてみましょう。本番ビルドを取得する前に、Windows と macOS でテストする必要があるクロスプラットフォームプロジェクトがあります。この単純なケースに最適なワークフローは...

VCS チェックアウト規則

VCS チェックアウトルールを使用すると、構成された VCS ルートの一部をチェックアウトし、バージョン管理のディレクトリをビルドエージェントのビルドチェックアウトディレクトリのサブディレクトリにマップすることができます。リポジトリ全体の VCS ルートを定義し、各ビルド構成にその関連部分のみをチェックアウトするように指示することができます。チェックアウトルールは、UI に表示されるビルドの変更と、エージェント上のビルドでチェックアウトされるファイルに影響します。コミットがビルドの VCS ルー...

ユーザーの作成と管理

TeamCity のユーザーアカウントとは:ユーザーアカウントは、ユーザー名とパスワードの組み合わせで、TeamCity ユーザーがサーバーにサインインしてその機能を使用できるようにします。ユーザーアカウントは、使用される認証スキームに応じて手動で作成することも、サインイン時に自動的に作成することもできます (詳細については、認証モジュールセクションを参照してください)。各ユーザーアカウント: 対応する権限を通じてすべてまたは特定の TeamCity 機能へのアクセスを保証する関連するロールがあ...