TeamCity 2020.2 ヘルプ

ビルドチェーン

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

一般的なユースケース

ビルドチェーンを指定するための最も一般的な使用例は、異なるプラットフォームでプロジェクトの同じテストスイートを実行することです。例:リリースビルドの前に、テストがさまざまなプラットフォームや環境で正しく実行されていることを確認する必要があります。この目的のために、TeamCity にテストを実行し、次に統合ビルドを最初に実行し、その後にリリースビルドを実行するように指示できます。

チェーンビルドメカニズムがどのように機能するかを詳しく見てみましょう。リリースビルド構成の依存ビルドをトリガーすると、TeamCity は次のことを行います。

  1. リリースビルド構成スナップショットが依存するすべてのビルド構成のチェーンを解決します。

  2. すべての依存ビルド構成の変更をチェックし、ビルドチェーンの最初のビルドがビルドキューに入るときに同期します。

  3. 特定のリビジョンでビルドする必要があるすべてのビルドをビルドキューに追加します。

ビルドチェーンの設定

ビルド構成で依存関係を指定するには:

  1. ビルド設定ページで、依存関係を選択します。

  2. 依存関係ページで、新しいスナップショット依存関係を追加するリンクをクリックしてください。

詳細と例については、依存関係を構築するも参照してください。

ビルドチェーンからキュービルドを停止 / 削除する

ビルドキューから停止または削除されているビルドがビルドチェーンの一部である場合、コメントフィールドに「このビルドはビルドチェーンの一部です」というメッセージが表示されます。

ビルドチェーンの他の実行中またはキューに入れられた部分がある場合(つまり、アクションでビルドに接続されている他の実行中のビルドまたはキューに入れられたビルド)、これらのビルドは「他の部分を停止」というラベルにリストされます。

ユーザーがリスト内のビルドを停止するアクセス権を持っている場合は、その近くにチェックボックスがあります。現在のビルドを停止するとリスト内のビルドが確実に失敗する場合(デフォルトでは、リストされているビルドが停止中の元のビルドに依存している場合など)は、このチェックボックスはデフォルトでオンになっています。

ユーザーがリストからビルドを中止するアクセス権を持っていない場合、チェックボックスは表示されません。

チェックボックスを選択すると、選択したビルドにキューからの停止 / 削除のマークが付けられます。

ビルドチェーンの一部であるビルドを表示するアクセス権がユーザーにない場合、このビルドはユーザーにはまったく表示されません。そのようなビルドが少なくとも 1 つある場合は、「そのすべての部分へのアクセス権がありません」という警告が表示されます。ストライプは、「このビルドはビルドチェーンの一部です」というメッセージのすぐ下に表示されます。

ビルドチェーンの他のすべての部分を現在のユーザーが表示できない場合は、「他の部分を表示するためのアクセス権がありません」という警告付きの黄色のストライプが表示されます

ビルドチェーンの実行中またはキューに入っているビルドがない(つまり、ビルドチェーンの他のすべての部分が終了した)場合、追加情報は表示されません。

チェーン部品間のリビジョン同期を無効にする

ビルドを昇格するときに、ビルド構成のスナップショット依存関係のリビジョン同期無効にすることができます。
このオプションは、ビルドをチェーンパート 1 からチェーンパート 2 に昇格させ、パート 2 の最初のビルド構成でこのオプションが無効になっている場合に機能します。この場合、TeamCity はパート 1 とパート 2 のビルドに異なるソースリビジョンを使用できます。依存関係を構築するビルドセットアップの例を参照してください。

これは、コードリビジョンを依存関係と同期せずに依存ビルド(チェーンの前のビルド)を実行する必要がある場合に役立ちます。
例:古いビルドをデプロイビルド構成昇格でき、このビルドは最新のデプロイスクリプトを使用して実行されます。ロード / アクセプタンステストでは、バージョン管理システムにテストを保存し、システムをテストするためにテストを変更することが多い場合、アプリケーションを完全に再構築する必要はありません。代わりに、チェーンをテスト段階から直接取得できます。

チェーン視覚表現を構築する

基本的に、各ビルドチェーンは有向非巡回グラフです(英語)。つまり、サイクルを持つことはできません。

ビルドチェーンは、TeamCity Web UI のさまざまな場所に表示されます。

ビルド構成設定の依存関係ページ

ビルド構成がビルドチェーンの一部である場合、対応する情報がビルド設定 | 依存関係 | スナップショットの依存関係に表示されます。ビルドチェーンリンクをクリックすると、ビルドチェーンとその構成のプレビューが別のウィンドウで開きます。プレビューにはチェーンのビルドが表示されます。自動トリガーが構成されているビルドには、アイコンv.pngが付いています。

Preview of snapshot dependencies

プロジェクトホームページとビルド構成ホームページのチェーンのビルドタブ

プロジェクトとビルド構成の両方のページでビルドチェーンを確認できます。これらの各ページには、スナップショット依存関係が構成されているときに表示されるビルドチェーンタブがあります。

このタブには、このプロジェクトのビルドまたはこのビルド構成を含むチェーンのリストが表示され、フィルタリングすることができます。最後に完成したビルドのチェーンがリストの一番上に表示されるように、ビルドチェーンがソートされていることに注意してください。

円グラフのアイコンは、チェーンの一部であるビルドのステータスの比率を表示します。円グラフにカーソルを合わせると、詳細が表示されます。

Collapsed build chains

チェーンが拡張されると、以下の情報も利用可能です。

  • このビルドチェーンを構成するすべてのビルド

  • これらのビルドの状況: トリガーされていない、キュー内にある、実行中または終了した、その詳細

  • チェーンは実際の実行順にビルドを表示します。つまり、最初に始まるビルドは左側に表示されます。

チェーンでビルドをクリックすると、選択したビルドとそのすべての直接の依存関係がハイライトされます。このページ:

  • チェーンのコンパクトな表現を提供します。複数のトップビルドが依存ビルドの同じチェーンをトリガーした場合、TeamCity は複数のトップビルドを含む 1 つのビルドチェーンを表示します。

  • 追加の表示オプションがあります:プロジェクトによるグループ化と詳細を隠す。

  • ビルドチェーンでビルドが選択されたときに、すべてのダウンストリーム / アップストリームビルドを推移的にハイライトします。

このページから、次のこともできます。

  • まだ「トリガーされていない」ビルドがある場合は、チェーンを続けます。実行ボタンをクリックすると、新しいビルドがチェーンリビジョンで開始され、このチェーンからのビルドに関連付けられます。

  • custom_build(1).png をクリックして、ビルドチェーンリビジョンが事前に選択されたカスタムビルドダイアログを開きます。このアクションは、チェーンでビルドを再実行する場合に使用できます。

ビルド結果ページの依存関係タブ

依存関係が構成されている場合は、ビルド結果ページの依存関係タブで詳細を確認できます。このタブには、間接的な依存関係も表示されます。たとえば、ビルド A がビルド C と D に依存するビルド B に依存している場合、これらのビルド C と D はビルド A の間接的な依存関係です。
このタブには、チェーンのビルドによってダウンロードおよび配信されたアーティファクトも表示されます。また、ビルドをグループ化 / グループ解除し、以前のチェーンから再利用されたビルド(適切なビルド)をハイライトすることもできます。

関連ページ:

依存ビルド

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

依存関係を構築する

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

デプロイビルド構成

TeamCity は、デプロイタイプのビルド構成を提供します。一部の環境へのデプロイを実行するビルド構成は、このタイプでマークできます。これらは通常、結果をデプロイするビルドにスナップショットまたはアーティファクトの依存関係があるビルド構成です。ビルド構成を作成した後、その一般設定を開き、ビルド構成...

機能ブランチを使用した作業

分散バージョン管理システム(DVCS)の機能ブランチを使用すると、メインの開発とは独立して機能を操作し、機能のすべての変更をブランチにコミットして、機能の補完時に変更をメインのブランチにマージできます。このアプローチは、ソフトウェア開発チームに多くの利点をもたらします。ただし、専用のサポートがない継...