Docker Compose
Docker Compose ビルドステップでは、Docker Compose(英語) ビルドサービスを起動し、ビルド終了時にシャットダウンすることができます。このランナーを使用することで、複数コンテナーの Docker アプリを実行できます。
プライベートリポジトリから基本イメージをプルするか、新しく構築されたイメージをレジストリにプッシュする必要がある場合は、次のように Docker または Podman レジストリに対して認証を行うことができます。
プロジェクト設定で、サイドバーから接続を選択し、Docker への接続を設定する手順に従って、プロジェクトに新しい Docker レジストリ接続(または複数の接続)を追加します。
ビルド構成設定で、前の手順で作成した接続を追加して、Docker レジストリ接続ビルド機能を構成します。
共通設定
使用可能なステップ実行ポリシーについては、こちらで説明しています。
Docker Compose 設置オプション
TeamCity エージェントに Docker Compose をインストールするには、2 つのオプションがあります。
下位互換性を高めるために、TeamCity は最初にスタンドアロン Compose バイナリがインストールされているかどうかを確認します。「はい」の場合、ランナーは古い Compose V1 構文を使用してコマンドを実行します (たとえば、docker-compose up)。それ以外の場合、ランナーはインストールされているプラグインを検索し、最新の Compose V2 構文 (たとえば、docker compose up) に切り替えます。
Docker Compose の設定
Docker Compose ランナーは、ビルド中に使用されるサービスの説明を含む 1 つまたは複数の Docker Compose YAML ファイル(英語)をサポートします。docker-compose.yml ファイルへのパスは、ビルドチェックアウトディレクトリからの相対パスである必要があります。複数のファイルを指定する場合は、スペースで区切ります。
ビルドエージェントは、ビルド中に次の docker-compose コマンドを実行します。
各実行時に強制的にプルするオプションが有効になっている場合、docker-compose up コマンドの前に docker-compose pull が実行されます。
HEALTHCHECK(英語) をサポートするイメージで Docker Compose を使用するとき、TeamCity はこのパラメーターをサポートするすべてのコンテナーの healthy ステータスを待ちます。
Docker Compose の開始が成功した場合、TeamCity エージェントは、Docker Compose デフォルトネットワークの名前を含む TEAMCITY_DOCKER_NETWORK 環境変数を登録します。このネットワークは、一部のビルドランナーで使用される場合、コンテナーラッパーに透過的に渡されます。
関連ページ:
ビルドステップの設定
ビルドステップは、CI/CD ワークフローの最小単位です。ビルドステップは、全体として実行される一連のアクションを定義します。ビルドステップは、ビルド構成とパイプラインジョブに属します。構成とパイプラインのビルドステップ:TeamCity は、.NET、Maven、NAnt、Xcode などの特定のビルドツール用に設計された幅広いビルドステップを提供します。現在、ビルド構成ではすべてのステップが利用可能です。バージョン 2025.07 で導入された
Docker への接続を設定する
事前構成された Docker 接続により、次のことが可能になります。ビルドを実行する前に認証された Docker または Podman レジストリにサインインし、ビルド後にサインアウトします。ビルド後に公開されたイメージをクリーンアップします (現在、Podman では使用できません)。プロジェクト設定 | 接続ページで、Docker レジストリ接続を構成できます。TeamCity は、docker.io(デフォルト) またはプライベート Docker レジストリへの接続をサポートします。プロジェ...
Docker レジストリ接続
Docker レジストリ接続ビルド機能により、TeamCity はビルドの開始前に DockerHub またはその他のコンテナーレジストリに自動的にサインインできます。この機能を次の場所に追加します。TeamCity による Docker/Podman 操作 (たとえば、および) の監視と検出を許可します。ビルド前に認証されたレジストリに自動的にログインし、ビルド後にログアウトします。ローカル (Docker と Podman の両方) イメージをクリーンアップし、レジストリにプッシュ (Doc...
TeamCity とコンテナーマネージャーの統合
TeamCity はコンテナーマネージャー(Docker および Podman)と統合し、幅広い運用をサポートします。コンテナー内でステップを実行するほとんどのビルド手順には、手順を実行するコンテナーを指定できるコンテナー設定セクションが含まれています。構成に同じコンテナー内で実行する必要のある複数のステップがある場合は、各ステップを個別に構成するのではなく、Docker で実行ビルド機能を使用してください。どちらの方法も、Docker または Podman がインストールされたビルドエージェン...
TeamCity エージェントをインストールして開始する
TeamCity ビルドエージェントは、TeamCity サーバーからのコマンドをリッスンし、実際のビルドプロセスを開始するソフトウェアです。実稼働の TeamCity セットアップでは、専用のマシンに追加のビルドエージェントをインストールする必要があります。その前に、エージェントとサーバー間の通信、システム要件、競合するソフトウェア、およびセキュリティに関する注意事項を必ず参照してください。Tomcat サーブレットコンテナーにバンドルされた TeamCity をインストールするか、Window...
dotCover
dotCover ランナーは、JetBrains dotCover を使用して .NET プロセスのカバレッジレポートを生成します。生成されたレポートは、ビルド結果ページのコードカバレッジタブに公開されます。このランナーは、複数の先行する .NET ステップの後に配置して、個々のコードカバレッジをマージし、統合レポートを公開することもできます。dotCover ステップ設定:このセクションでは、ランナー設定の使用方法について説明します。現在のタスクに応じてこれらの設定を組み合わせる方法の例については、...