スナップショットの依存関係
ビルド(ビルド B など)のスナップショット依存関係を別のビルド(ビルド A)のソースに設定することで、ビルド A が実行されて終了した後にのみビルド B が開始されるようにすることができます。ビルド A を依存ビルドと呼びますが、ビルド B は依存ビルドです。
ビルド設定 | 依存関係ページには、構成された依存関係が表示されます。このページのスナップショットの依存関係セクションでは、ビルドチェーンとその構成をプレビューできます。プレビューには、チェーンのビルドが表示されます。自動トリガーが構成されたビルドには、アイコンが付いています。
スナップショットの依存関係には、次のオプションがあります。
オプション | 説明 |
---|---|
に依存 | 依存するビルド構成を指定します。 この例では、現在のビルド B の依存関係としてビルド A を選択します。 |
リビジョン同期を強制する | このオプションが有効になっているスナップショットの依存関係によってリンクされているチェーンのすべてのビルド(デフォルト)では、TeamCity は同じソースのスナップショット(たとえば、同じ VCS ルートの同じリビジョン)を使用します。これは、正常にビルドするためにソースの同じ状態を使用する必要がある構成に推奨される設定です。 スナップショット依存関係に対してこのオプションを無効にすると、依存関係ビルドが現在のビルド構成にプロモートされると、現在のビルド構成のビルドは、プロモートされた依存関係に対応するリビジョンではなく、ソースの最新のリビジョンを使用します。これは、ビルドに厳密なソースの依存関係がない場合に役立ちます(たとえば、パッケージおよびデプロイの手順の場合など)。 この例では、ビルド B のスナップショット依存関係でこのオプションが無効になっている場合、動作は次のようになります。ビルド A はリビジョン 1.2 で起動し、終了後、ビルド B にプロモートされます。TeamCity はビルド B の最新のリビジョンを検索します(たとえば、1.3)B を開始した瞬間。 ソースのスナップショットルールは、オプションを有効にしてスナップショットの依存関係を介してリンクされたビルドチェーンの一部にのみ適用されることに注意してください。 |
適切なものがあれば、新しいビルドを実行しないでください | このオプションが有効になっている場合、適切なソースのリビジョンで実行中または終了した別の依存関係ビルドがすでに存在する場合、TeamCity は新しい依存関係ビルドを実行しません。適切なビルドも参照してください。 |
適切なビルドから成功したビルドのみを使用する | 新しくトリガーされたビルドは、正常に終了した適切なビルドのみを依存関係として使用します。最新の完成した適切なビルドが失敗した場合、再実行されます。 |
同じエージェントでビルドを実行する | 有効で B スナップショット -A に依存する場合、各ビルド B は、同じビルドチェーンのビルド A が実行されたのと同じエージェントで実行されます。 |
依存関係の失敗 / 開始に失敗 / 依存関係のキャンセル | 依存関係が失敗した場合は、次のいずれかのオプションを選択して依存関係のあるビルドのステータスを管理できます。
|
適切なビルド
スナップショットの依存関係に関して、適切なビルドは、ビルドチェーン内のキューに入れられた依存関係ビルドの代わりに使用できるビルドです。つまり、ビルドチェーンの一部であるキューに入れられたビルドを削除でき、それに依存するビルドを、キューに入れられた、実行中の、またはすでに終了した「適切な」ビルドに依存させることができます。この動作は、対応するスナップショットの依存関係の「適切なビルドがある場合は新しいビルドを実行しない」オプションが有効になっている場合にのみ機能します。
ビルドが「適切」と見なされるには、次のすべての条件に準拠している必要があります。
キューに入れられたビルドチェーン全体が処理されているのと同じソースのスナップショットを使用する必要があります。ビルド構成の VCS 設定が同じである場合、これは同じソースのリビジョンを意味します。VCS 設定が異なる場合(VCS ルートまたはチェックアウトルール)、これは、ある時点で同時に行われたリビジョンを意味します。
成功する必要があります(「適切なビルドからの成功したビルドのみを使用する」スナップショット依存関係オプションが有効になっている場合)。
reverse.dep.
パラメーター(関連機能要求:TW-23700(英語))を介して設定されたパラメーターを含め、カスタマイズされたパラメーターがあってはなりません。元のビルドは、「再ビルド」によってトリガーされてはなりません。依存関係ビルド構成のアクション。
他のビルド構成スナップショットはありません - 現在のスナップショットに応じて、「適切なビルドがある場合は新しいビルドを実行しない」オプションが無効になっています。
実行中のビルドは「ハング」していません。
ビルド構成の設定は、ビルド以降変更されていません(つまり、ビルドは現在のビルド構成設定で実行されました)。これには、ビルド構成のすべての親プロジェクトのパラメーターへの変更も含まれません。隠されたビルドのアーティファクトの
.teamcity/settings/digest.txt
ファイルを比較することで、複数のビルド間で設定が変更されたかどうかを確認できます。スナップショットに加えてアーティファクトの依存関係もある場合は、適切なビルドにアーティファクトが含まれている必要があります。
すべての依存関係ビルド(現在のビルドが依存するビルド)は「適切」です。と適切にマージされます。
ビルドの再利用を無効にする VCS 設定
VCS ルートの一部の設定では、ビルドの再利用を効果的に無効にすることができます。これらの設定は次のとおりです。
Subversion: チェックアウトしますが、変更を無視しますモード
CVS: タグによるチェックアウトモード
Perforce: ストリームまたはクライアント接続設定、またはラベルがチェックアウトするラベル / 改訂として指定されている
Starteam:ラベルまたはプロモーションの日付を表示するように設定されたチェックアウトモードオプション
関連ページ:

依存ビルド
TeamCity では、1 つのビルド構成は 1 つ以上の構成に依存できます。2 種類の依存関係を指定できます。スナップショットの依存関係、アーティファクトの依存関係、アーティファクトの依存関係は、あるビルドによって生成されたアーティファクトを別のビルドに取り込む方法にすぎません。対応するスナップシ...

ビルドチェーン
ビルドチェーンは、スナップショットの依存関係によって相互接続された一連のビルドです。ビルドチェーンは「パイプライン」と呼ばれることもあります。リビジョンの同期が有効になっているスナップショットの依存関係にリンクされたビルドチェーンの一部は、ソースの同じスナップショットを使用します。一般的なユースケー...

パーソナルビルド
パーソナルビルドは、一般的なビルドシーケンスのビルドアウトであり、通常はバージョン管理にまだコミットされていない変更を使用します。パーソナルビルドは通常、サポートされている IDEの 1 つからリモート実行プロシージャを介して開始されます。以下で説明するように、変更を含むパッチをサーバーに直接アップ...

依存関係を構築する
このページでは、例に基づいて、TeamCity で依存関係がどのように機能するかについての一般的な考え方を示します。依存関係の説明については、依存ビルドを参照してください。導入 :多くの場合、あるビルドの出力を別のビルドで使用したり、同じソース上でいくつかのビルドを順番に実行したりすると便利です。典...