Docker で実行
Docker で実行 ビルド機能を使用すると、ビルド構成のすべてのステップを同じ Docker または Linux コンテナー内で実行できます。 以下は、コンテナー内で起動できるビルドステップのリストです。
このリストに含まれていないステップは、指定されたコンテナーの外部で実行されます。
設定
TeamCity は、コンテナー内でビルドステップを実行するための 2 つのオプションを提供します:
Docker で実行 ビルド機能 - この構成のすべてのビルドステップに共通するグローバルコンテナー設定を指定します。
コンテナーラッパー — 必要なコンテナー内で個別のステップを 1 つ実行できます。
「Docker で実行」と「コンテナーラッパー」は両方とも同一の設定を公開します。
- イメージのお名前
DockerHub またはその他のレジストリに記載されているイメージのお名前。 TeamCity は指定されたイメージからコンテナーを起動し、このコンテナー内で必要なビルド構成の実行を試みます。 たとえば、`ruby:2.4` は、バージョン 2.4 の Ruby コンテナー内でビルド構成を実行します。
ビルドを実行するエージェントに Docker の代わりに Podman がインストールされている場合は、完全なイメージ名 (たとえば、
alpine:latestの代わりにdocker.io/library/alpine:latest) を使用するか、ビルドエージェントマシン上の registries.conf ファイルでレジストリドメインが指定されていることを確認します。 Linux コンテナーレジストリを管理する方法(英語)も参照してください。- イメージプラットフォーム
<任意> (デフォルト)、Linux、または Windows を選択します。 Windows イメージは Podman ではサポートされていないことに注意してください。
- 実行ごとに強制プルする
有効化されている場合、
docker/podman pull <イメージ名>経由でリポジトリからイメージがプルされてから、docker/podman 実行コマンドが送信されます。- 追加の実行引数
docker/podman 実行コマンドに追加オプションを指定できます。 デフォルトの引数は--rmですが、さらに指定できます。 たとえば、カスタムボリュームマッピングを追加します。
Kotlin DSL
以下のスニペットは、 Kotlin DSL で Docker で実行 機能を構成する方法を示しています。