TeamCity オンプレミス 2026.2 ヘルプ

Docker

Docker ビルドステップを使用すると、ビルド内で docker builddocker pushdocker tag やその他の Docker(英語) コマンドを起動できます。

前提条件

新しく作成したイメージを Docker レジストリにプッシュするには、まず認証を行う必要があります。

  1. プロジェクト設定を開き、接続設定タブに移動します。

  2. プロジェクトに新しい Docker レジストリ接続を追加します。

  3. ビルド構成設定で、前の手順で作成した接続を使用して Docker レジストリ接続ビルド機能を構成します。

共通設定

ビルドステップでは、選択した Docker コマンドに応じて次の設定が提供されます。

コマンド

パラメーター

説明

build

Dockerfile ソース

選択したソースに応じて、以下の設定は異なります。使用可能なオプションは、ファイルURLファイルコンテンツです。

ファイルへのパス

ファイルソースタイプで使用可能:

Dockerfile(英語) へのパスを指定します。パスは、ビルドチェックアウトディレクトリからの相対パスである必要があります。

コンテキストフォルダー

ファイルソースタイプで使用可能:

docker build のコンテキスト(英語)を指定します。空白の場合、Dockerfile の親ディレクトリが使用されます。

ファイルへの URL

URL ソースタイプで使用可能:

URL は、Git リポジトリ、事前にパッケージ化された tarball コンテキスト、プレーンテキストファイルの 3 種類のリソースのいずれかを参照できます。詳細については、Docker のドキュメント(英語)を参照してください。

ファイルコンテンツ

ファイルコンテンツソースタイプで使用可能:

Dockerfile(英語) の内容をフィールドに入力できます。

イメージプラットフォーム

\<Any\> (デフォルト)、Linux、Windows を選択します。

イメージ名: タグ

イメージ名の改改行コードリストを提供します: タグ(英語)

build コマンドの追加引数

docker build コマンドに追加の引数を指定します。詳細については、Docker のドキュメント(英語)を参照してください。

push

プッシュ後にエージェントからイメージを削除する

選択した場合、TeamCity は、ステップの最後に docker rmi を含むイメージを削除します。

イメージ名: タグ

イメージ名の改改行コードリストを提供します: タグ(英語)

その他

コマンド名

pushtag などの Docker サブコマンド。run コマンドには、コンテナーラッパーを使用します。

作業ディレクトリ

チェックアウトディレクトリと異なる場合は、ビルド作業ディレクトリを指定します。

コマンドの追加引数

docker コマンドに渡される追加の引数。

sudo による Docker の実行

sudo を介して、TeamCity エージェントで Docker コマンドの開始を強制できます。teamcity.docker.use.sudo=true 設定をビルドエージェント構成ファイルに、またはエージェントのシステムプロパティとして追加します。エージェントの開始時に、TeamCity エージェントログは、sudo 接頭辞が Docker コマンドの実行に使用されていることを通知します。

sudo コマンドの sudoers ファイルを構成するには、次のように visudo (英語) を使用します。

buildagentuser ALL=(ALL) NOPASSWD:SETENV:<full_path_to_docker>

docker login の問題(英語)を防ぐために、sudoers ファイルから Defaults requiretty 行を削除(またはコメントアウト)することをお勧めします。

マルチアーキテクチャイメージの構築

その他 ... コマンドオプションを使用すると、任意のカスタム docker ... コマンドを実行できます。例: buildx(英語) コマンドを呼び出してマルチアーキテクチャイメージをビルドできます。

  1. ビルド構成に新しい Docker ランナーを追加します。

  2. Docker コマンドオプションを「その他 ...」に切り替えます。

  3. コマンド名フィールドに「buildx」と入力し、コマンドの追加引数に「create --use」と入力します。TeamCity はこれらのフィールドを 1 つの docker buildx create --use コマンドに結合します。

  4. 実行する新しいコマンドごとに手順 1 ~ 3 を繰り返します。例: 追加のノード (docker buildx create --append --name mybuild <context_name>) を追加したり、docker buildx build <path> --platform linux/amd64,linux/arm64 を呼び出してイメージの構築を開始したりすることができます。

カスタム TeamCity イメージの構築

TeamCity サーバーおよびエージェントイメージの使用と構築の詳細については、次の記事を参照してください。

2026 年 6 月 23 日

関連ページ:

ビルドステップの設定

ビルドステップは、CI/CD ワークフローの最小単位です。ビルドステップは、全体として実行される一連のアクションを定義します。ビルドステップは、ビルド構成とパイプラインジョブに属します。構成とパイプラインのビルドステップ:TeamCity は、.NET、Maven、NAnt、Xcode などの特定のビルドツール用に設計された幅広いビルドステップを提供します。現在、ビルド構成ではすべてのステップが利用可能です。バージョン 2025.07 で導入された

コンテナーラッパー

コンテナーラッパー拡張機能を使用すると、指定された Docker/Podman イメージ内でビルドステップを実行できます。ビルドを実行するエージェントにインストールされているコンテナーマネージャーに応じて、イメージはまたはコマンドによってプルされます。TeamCity は、コンテナーを匿名でプルできます (イメージが公開されている場合)。または、レジストリにログインした後でプルできます (プライベートレジストリの場合、または匿名ダウンロードに対する DockerHub のペナルティを回避する場合...

コマンドライン (スクリプト)

コマンドライン(ビルド構成内)またはスクリプト(パイプライン内)は、TeamCity の中で最も柔軟なビルドステップです。エージェントマシン上で直接コマンドを実行するため、インストールされている任意のツール(cURL、Homebrew、Python、Unreal Engine など)との連携が可能になります。ツール固有の TeamCity ステップの代替として使用することもできます。たとえば、ゴールで Maven ステップを使用する代わりに、スクリプトを実行します。ステップ設定:スクリプトステップ...

TeamCity とコンテナーマネージャーの統合

TeamCity はコンテナーマネージャー(Docker および Podman)と統合し、幅広い運用をサポートします。コンテナー内でステップを実行するほとんどのビルド手順には、手順を実行するコンテナーを指定できるコンテナー設定セクションが含まれています。構成に同じコンテナー内で実行する必要のある複数のステップがある場合は、各ステップを個別に構成するのではなく、Docker で実行ビルド機能を使用してください。どちらの方法も、Docker または Podman がインストールされたビルドエージェン...

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

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

Docker レジストリ接続

Docker レジストリ接続ビルド機能により、TeamCity はビルドの開始前に DockerHub またはその他のコンテナーレジストリに自動的にサインインできます。この機能を次の場所に追加します。TeamCity による Docker/Podman 操作 (たとえば、および) の監視と検出を許可します。ビルド前に認証されたレジストリに自動的にログインし、ビルド後にログアウトします。ローカル (Docker と Podman の両方) イメージをクリーンアップし、レジストリにプッシュ (Doc...