ビルド構成の作成と編集
ビルド構成とパイプラインは、実際の CI/CD ルーチンを表します。ビルド構成には、一連のビルドステップ(ビルド実行中に実行される基本操作)と、これらのステップの実行に必要な設定が格納されます。これらの設定には以下が含まれます。
構成の動作をすばやく変更できるパラメーター。
特定の条件が満たされたときに TeamCity が自動的に新しいビルドを開始できるようにするトリガー。
構成の機能を拡張する機能を構築します。
特定のビルドエージェントで構成ビルドを実行できるようにするエージェント要件。
その他。
ビルドシーケンス(特定のタスクを専用環境で実行するシーケンス)ごとに、個別のビルド構成またはパイプラインを用意することをお勧めします。これにより、新しい問題や失敗したテストの検出、最初の失敗 / 修正済みテストのステータス、調査の自動削除などの機能が適切に機能します。
ビルド構成とパイプライン
構成の作成に進む前に、ビルド構成とパイプラインの違い、それぞれをいつ使用するかを理解することが重要です。ビルド構成は一度作成すると、パイプラインやジョブに変換することはできません。また、その逆も同様です。
- 親
ビルド構成とパイプラインはどちらも TeamCity プロジェクトが所有します。各プロジェクトには、無制限の数の構成とパイプラインを含めることができます。
- 子
ビルドはビルドステップを直接所有します。
パイプラインはジョブを所有し、ジョブは通常のビルドステップを所有します。
- サポートされている VCS タイプ
クラシック TeamCity ビルド構成は、Git、Subversion、Mercurial、TFS、Perforce をサポートし、GitHub、GitLab、Bitbucket、Azure などの主要な VCS プロバイダーとの統合を実現します。
TeamCity パイプラインは、GitHub、GitLab、Bitbucket Cloud との統合機能を内蔵しています。その他の Git リポジトリには、直接 URL 経由で接続できます。Subversion、Mercurial、TFS、Perforce は現在サポートされていません。
- 実行モード
パイプラインは常に最初から最後まで実行され、コンパイル失敗や接続の問題などのエラーによって中断されない限り、すべてのジョブが実行されます。
ビルド構成は条件付きステップ実行をサポートします。例: 前のステップが失敗した場合にのみ実行されるステップを追加できます。
- 依存関係
現在、パイプラインは同じパイプライン内のジョブ間の依存関係のみをサポートしており、より大きなシーケンスにリンクすることはできません。
ビルド構成は、さまざまな TeamCity プロジェクトにわたってビルドチェーンを形成できます。
- コードとしての構成
パイプラインとビルド構成はどちらも、設定をコードとしてプロジェクトのソースコードのすぐ隣に保存できます。どちらもブランチ設定をサポートしているため、各リポジトリブランチごとに独自の設定ファイルを持つことができます。
ビルド構成は XML または Kotlin DSL 形式で設定を保存します。これらのファイルは TeamCity UI から編集できません。
パイプラインは設定を YAML 形式で保存し、TeamCity で直接編集できます。
Kotlin DSL のサポートは、将来のパイプラインのバージョンで計画されています。ただし、ビルド構成に YAML サポートを追加する予定は現時点ではありません。
- 制限
まとめると、パイプラインとビルド構成はどちらもプロジェクトが所有するものの、それぞれ異なるニーズに対応します。パイプラインは、小規模プロジェクト(通常は 10 – 15 ビルドまで)におけるシンプルな CI/CD ワークフローに最適です。以下の場合は、代わりにビルド構成を選択してください。
プロジェクトには、10 – 15 シーケンシャルビルドよりも複雑なワークフローが含まれます。
パイプラインでまだ利用できない高度な機能 ( ビルド承認など) を必要とする経験豊富なユーザーです。
どのビルドのチェーン構成をいつ、どのように実行するかを細かく制御する必要があります。
TeamCity UI でビルド構成を作成する
TeamCity プロジェクトにビルド構成を追加するには、サイドバーの + ボタンを使用します ...

または、プロジェクト設定の一般タブからビルド構成を作成するをクリックします。

利用可能なオプション
ビルド構成は、VCS に保存されているプロジェクトをビルド、テスト、デプロイする構成と、リモートリポジトリを必要としない構成 (たとえば、データの下へロードと処理にサードパーティの REST API を使用する構成) の 2 つの主要なタイプのいずれかになります。
リモートリポジトリをチェックする構成は、TeamCity 接続または VCS ルートを使用して作成できます。
利用可能なすべてのオプションは、ビルドを設定するページの対応するドロップ下へに表示されます。

TeamCity 接続を使用する
TeamCity 接続は、VCS ホスティング、クラウドデータストレージ、Docker レジストリ、シークレットボールトなど、外部リソースへのアクセスに必要なすべての情報を保存します。接続を使用することで、ソースをビルドする最も便利な方法を実現できます。一度設定すれば、新しいビルド構成やパイプラインを追加するたびに、リストから必要なリポジトリを選択するだけで済みます。
上の図は、既存の接続のリストを示しています。GitLab 接続、GitHub 接続、Azure 接続などがいくつか含まれています。ビルド構成の親プロジェクトに VCS 接続がない場合は、新しいリポジトリを接続するメニュー項目から新しい接続を作成するしかありません。
リポジトリ URL を使用する
このオプションを使用すると、Git、Subversion、Mercurial、TFS、Perforce リポジトリ(ディポ)URL を使用して、構成を一括でビルドできます。任意の URL タイプを使用できます。
通常のリポジトリの Web リンク:
https://github.com/Johndoe/my-sample-appHTTPS クローン URL:
https://github.com/Johndoe/my-sample-app.gitSSH クローン URL:
git@github.com:Johndoe/my-sample-app.git
リモートリポジトリの構築を開始するには、以下の手順に従います。
ビルドを設定するページで、任意の Git URL からオプションを選択します。
認証タイプを選択します。
- SSH キー
リポジトリ URL が SSH クローン URL の場合に使用できます。SSH キーを上へロードをクリックすると秘密鍵が追加されます。この秘密鍵は親プロジェクト(親プロジェクト設定 | SSH キー)に保存され、追加プロジェクトの設定時にドロップ下へメニューに表示されます。
詳細: SSH 鍵管理
- HTTPS
このオプションは HTTP(s) クローン URL で使用でき、次の 3 つの認証オプションを提供します。
トークン — VCS 側で個人アクセストークン(PAT)を発行し、ここに貼り付けます。TeamCity リフレッシュ可能なアクセストークンの管理ページを使用してトークンを発行することもできます。
パスワード - 通常のユーザー名 / パスワードの資格情報を入力します。
匿名 — パブリックリポジトリで利用可能です。このオプションは、書き込みアクセス権限を利用しない場合にのみ使用してください(たとえば、TeamCity のビルドステータスを VCS に送信する場合など)。
基本的な設定オプションを設定します。
作成をクリックします。TeamCity をクリックすると詳細な構成設定が表示され、ビルドステップの追加、監視対象のブランチのリスト編集、追加のビルド機能の有効化などを行うことができます。
VCS ルートを使用する
リモートリポジトリに保存されたソースを処理するすべてのビルド構成は、VCS ルートオブジェクトを利用して処理されます。このオブジェクトには、単一のリポジトリへのアクセスに必要な接続設定に加え、監視対象のブランチのリスト、自動ポーリング間隔、サブモジュールのチェックアウトポリシーといった詳細設定が保存されます。
必要なリポジトリをビルド、テスト、デプロイするビルド構成またはパイプラインがすでに存在する場合は、その構成 / パイプラインの VCS ルートを再利用できます。これを行うには、次のいずれかの方法を使用します。
新しい構成を作成します - ビルドを設定するページで既存のルートからオプションを選択します。
既存の構成を編集します。ビルド設定 | バージョン管理に移動し、VCS ルートを接続するをクリックします。

既存の VCS ルートを再利用すると、必要な認証とブランチ設定のセット上へにかかる時間を節約でき、重複したルートの作成を回避できます。
リポジトリなしの構成
この構成タイプは実行時にリモートリポジトリをチェックアウトしません。たとえば、そのステップは事前定義されたスクリプトを実行し、HTTP リクエストを送信するだけです。
新しい「アンバウンド」を作成できます: 2 つの方法で構成できます。
ビルドを設定するページで、リポジトリなしを選択します。
クラシック UI で、新しいビルド構成ページを開き、手動タイルをクリックします。
VCS ルートは VCS プロバイダへの接続とリポジトリのチェックアウトを制御します。そのため、VCS ルートをデタッチすることで、ビルド構成をアンバウンドにすることができます。逆に、リポジトリのない構成に VCS ルートをアタッチすると、リモートソースをチェックアウトできるようになります。どちらの操作も、ビルド構成設定のバージョン管理セクションで実行できます。

複数のリポジトリを使用した構成
設定によって、どのリポジトリをチェックアウトするか、また、関連付けられた VCS ルートを通じてどのブランチを追跡するかが決まります。設定には、ルートを 0 個から複数個まで、任意の数だけ設定できます。
通常、構成は単一のリポジトリを使用するため、VCS ルートは 1 つです。完全に別々のプロジェクトをビルドする必要がある場合は、個別の構成を作成し、必要に応じてチェーンビルドでリンクするのが最適です。ただし、複数のリポジトリが関連している場合(コア製品とそのプラグインなど)、複数の VCS ルートを同じ構成にアタッチして、まとめてビルドすることができます。これを行うには、この記事で説明したいずれかの方法で構成を作成し、その設定のバージョン管理セクションに移動します。ここで、必要なリポジトリをターゲットとする VCS ルートをさらに作成できます。
以下の Kotlin DSL スニペットは、2 つのルートが接続された構成を示しています。
すべての VCS ルートは、同じチェックアウトディレクトリにソースを下へロードします。ファイルの競合を回避し、フォルダーを整理するためには、ルートチェックアウトルールを使用して、各リポジトリのソースを別々のサブディレクトリに下へロードするのが最適です。例: 上記のスニペットは、デフォルトのチェックアウトディレクトリ内の「MavenRepo」フォルダーと「GradleRepo」フォルダーにソースを配置します。
サンプル: 接続ベースの構成を作成する
この例では、GitHub への接続を追加し、それを使用して新しいビルド構成を作成します。
TeamCity は、OAuth 2.0 と GitHub アプリ(英語)の 2 つの GitHub 認証方式をサポートしています。どちらの認証方式もカスタマイズは最小限で、設定は 1 分もかかりません。両方の接続タイプとその他の VCS プロバイダー接続の詳細については、こちらの記事を参照してください: 接続を構成。
接続ベースの構成を作成するには、2 つの方法があります。プロジェクト設定で接続を作成し、ビルドを設定するページで選択する方法と、この 1 つのページからすべてを行う方法です。以下のタブは、両方のアプローチを示しています。
TeamCity UI を使用して、必要なプロジェクトにビルド構成を追加します。
ドロップ下へメニューから新しいリポジトリを接続するを選択します。
GitHub タイルを展開し、GitHub.com を選択します。

TeamCity の指示に従って、GitHub の「開発者設定」ページに移動し、新しいアプリケーションを作成します。

GitHub アプリケーションページで、新しいクライアントシークレットを生成するをクリックし、このシークレットとクライアント ID の両方を対応する TeamCity 接続プロパティに貼り付けます。
GitHub にアプリケーションをインストールすると、ビルドを設定するページのドロップ下へメニューで新しい接続を選択できます。初めて使用する際には、新しい接続を使用して GitHub にログインするために、<ユーザー名> を承認するをクリックする必要がありますためご注意ください。
TeamCity は、基盤となる接続経由でアクセス可能なリポジトリのリストを表示します。検索パネルを使用して目的のリポジトリを見つけ、クリックして続行してください。

基本的な設定オプションを設定し、作成をクリックして終了します。
ステップ 1: 接続の作成
新しい GitHub 接続を所有するプロジェクトの設定を開きます。このサーバーで作成されるすべてのプロジェクトで将来的に接続を使用できるようにするには、ルートプロジェクトを変更してください。
接続タブに移動し、接続の追加をクリックします。

接続タイプとして GitHub アプリを選択し、アプリを作成をクリックします。

TeamCity は GitHub にリダイレクトし、アプリの承認、インストール場所(個人アカウントまたは組織)の選択、オプションでリポジトリへのアクセス制限を行います。TeamCity で設定されたアプリは、GitHub の設定 | 開発者設定 | GitHub アプリからいつでも確認・編集でき、GitHub の設定 | アプリケーションページからアンインストールできます。
アプリをインストールすると、TeamCity に戻ります。ここでは、すべての接続設定 (アプリ ID、クライアント ID、クライアントシークレットなど) の値がすでに入力されています。接続のテストをクリックしてセット上へを確認し、保存をクリックして完了します。
ステップ 2: ビルド構成を作成する
TeamCity UI を使用して、必要なプロジェクトにビルド構成を追加します。
リストから新しい接続を選択してください。この接続を初めて使用する場合は、サインインが必要になる場合があります。
TeamCity は、基盤となる接続経由でアクセス可能なリポジトリのリストを表示します。検索パネルを使用して目的のリポジトリを見つけ、クリックして続行してください。

基本的な設定オプションを設定し、作成をクリックして終了します。
Kotlin DSL でビルド構成を作成する
次の Kotlin コードは、ターゲット VCS ルートを利用して VCS ホスティングプロバイダーと対話する新しいビルド構成を作成します。
詳細については、次の記事を参照してください。
REST API でビルド構成を作成する
次のリクエストは、特定の親プロジェクトが所有する新しい空の TeamCity ビルド構成を作成します。
詳細については、次の記事を参照してください。
構成テンプレートの構築
テンプレートを使用すると、同一の設定を持つ複数の構成をすばやく作成できます。構成を作成した後で、その設定を上書きすることもできます。
ビルド構成テンプレートを手動で作成することも、既存の構成から抽出することもできます。
テンプレートを手動で作成する
テンプレートの作成は、手動タイルを使用してビルド構成を作成するのと同じです。
構成からテンプレートを抽出する
参照として使用したいビルド構成がすでにある場合は、そこからテンプレートを抽出できます。
ビルド構成設定を開きます。
右上隅のアクションメニューを開き、テンプレートの抽出 ... をクリックします。

設定名を入力し、抽出をクリックします。テンプレート ID は自動生成された値をそのまま使用できます。
ソース構成が新しいテンプレートを最初に使用します。ソース構成を独立させておくには、切り離すをクリックします。それ以外の場合、テンプレートへの変更は、この構成と、それを基にした他のすべての構成に適用されます。

テンプレートからビルド構成を作成する
テンプレート化されたビルド構成は、テンプレート設定ページから作成する方法と、通常の構成を作成して使用するテンプレートを選択する方法の 2 つの方法で作成できます。
オプション 1:
プロジェクト設定を開き、一般設定タブに移動します。
構成テンプレートを作成するセクションまで下にスクロールし、必要なテンプレートをクリックします。
右上隅のアクションメニューを呼び出し、このテンプレートからビルド構成を作成します ... をクリックします。

新しい構成に必要な設定を指定します。手動以外のタイルをクリックしないでください。それ以外の場合は、選択したテンプレートが使用されない新しい構成を作成することになります。
オプション #2:
プロジェクト設定を開き、一般設定タブに移動します。
ビルド構成セクションのビルド構成を作成するをクリックします。
手動タイルをクリックし、テンプレートに基づくドロップ下へメニューから必要なテンプレートを選択します。このメニューは、このプロジェクトまたはその親プロジェクトのいずれかに少なくとも 1 つのビルド構成テンプレートがある場合に使用できます。

オプション #2 は、構成テンプレートを作成するセクションが別の (サブ) プロジェクトによって所有されているため、必要なテンプレートが表示されない場合に役立ちます。
ビルド構成の再配置
プロジェクトのすべてのビルド構成は、プロジェクト概要ページで表示できます。デフォルトでは、アルファベット順にリストされていますが、管理者はこの順序をカスタマイズできます。
ビルド設定
ビルド構成設定は次のとおりです。
バージョン管理の設定、VCS からソースコードを取得する方法、チェックアウト先などを定義します
ビルドステップ、順次実行されるアクション: たとえば、msbuild、スクリプト、単体テストの実行
新しいビルドをいつ開始するかを定義するルールであるトリガー
ビルドが失敗としてマークされる時期を指定する失敗条件
追加のビルド機能
依存関係:
スナップショット依存関係の場合、TeamCity は、依存するビルドが開始された瞬間に取得されたソース上ですべての依存ビルドを実行します。
アーティファクトの依存関係については、ビルドが開始される前に、このビルドが依存するすべてのアーティファクトが下へロードされ、構成されたターゲットの場所に配置され、その後ビルドによって使用されます。
設定の共有を可能にするパラメーター
ビルド構成を編集するための権限
プロジェクト管理者権限を持つユーザーのみがプロジェクトとビルド構成設定を変更できますが、ソースコードへのコントリビューターもビルド設定と環境に影響を与える方法はいくつかあります。
デフォルトのプロジェクト開発者 ロールは、ユーザーに次の 2 つの権限を付与します。
ビルドパラメーターをカスタマイズするを使用すると、ビルド構成パラメーターの値を変更できるため、ソースコードの実行方法に影響を与える可能性があります。
カスタムパッチでビルドソースコードを変更するを使用すると、リポジトリにまだコミットされていないユーザーのローカルソースに基づいてカスタムビルドを実行できます。
さらに、ソースコードを作成したり、Kotlin DSL に保存されたプロジェクト設定を使用してリポジトリに書き込んだりできるすべてのユーザーは、一般的なビルドエージェントで任意のコードを実行する可能性があります。
上記の権限をユーザーに付与する場合、またはプロジェクトのリポジトリへのアクセス権を書き込む場合は、この側面を考慮することをお勧めします。必要に応じて、各ロールに付与される権限のセットを調整できます。
ビルド構成設定のアクション
設定画面の右上隅にあるアクションメニューを使用して、次のことを行います。
関連ページ:
パイプラインの作成と編集
パイプラインは、従来のビルド構成に代わる、ユーザー中心の簡素化された代替手段です。チェーンビルドは TeamCity 2025.07 以降で利用可能です。現在早期アクセス段階であり、潜在的な問題が発生する可能性があるため複雑な設定には推奨されませんが、実験的段階ではないため、小規模で要求の少ないプロジェクトであれば本番環境で安全に使用できます。パイプラインとビルド構成とチェーン:パイプラインの作成に進む前に、ビルド構成とパイプラインの違い、それぞれをいつ使用するかを理解することが重要です。パイ...
ビルドパラメーターの設定
パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は次の 3 種類のパラメーターをサポートします。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...
ビルドトリガーの設定
ビルド構成が作成されると、実行ボタンをクリックしてビルドを手動でトリガーしたり、トリガーを使用して自動的に開始したりできます。ビルドトリガーは、特定のイベントで新しいビルドを開始するルールです。ビルドはビルドキューに入れられ、実行可能なエージェントが存在する場合に開始されます。ビルド構成の作成 / 編集中に、ビルド設定ページのトリガーセクションを使用してトリガーを構成できます。新しいトリガーを追加をクリックしてトリガー設定を指定します。各トリガーの構成の詳細については、対応するセクションを参照し...
ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。TeamCity ビルドの特徴:TeamCity には、構成に追加できる次のビルド機能が付属しています。A...
エージェント要件の設定
エージェントの要件は、ビルド構成を実行できるエージェントを指定する条件です。現在存在するすべての要件を表示して新しい要件を作成し、特定の構成を実行できるエージェントを確認するには、ビルド設定 | エージェント要件にアクセスしてください。エージェント要件ビデオガイド:要件構文:エージェント要件は式です。ここは、定義済みまたはカスタム (ユーザー定義) のビルドパラメーターです。例: エージェントにインストールされているオペレーティングシステムを報告するパラメーター。要件では、エージェントがこの特...
プロジェクトの作成と編集
TeamCity では、実際のビルドタスクはビルド構成とパイプラインによって実行されます。ただし、どちらもプロジェクト内に配置する必要があります。このトピックでは、プロジェクトを作成するさまざまな方法を説明します。ルートプロジェクトと設定の継承:始める前に、すべての TeamCity サーバーには、ルートプロジェクトと呼ばれる削除不可能な組み込みプロジェクトが含まれていることにご注意ください。すべての新しいプロジェクトはこのプロジェクトの子として作成されますが、ビルド構成やパイプラインを直接ホ...