TeamCity On-Premises 2025.03 Help

在 Docker 中运行

在 Docker 中运行 构建功能允许您在同一个 Docker 或 Linux 容器中运行构建配置的所有步骤。 以下是可以在容器内启动的构建步骤列表:

不包含在此列表中的步骤将会在指定容器外运行。

设置

TeamCity 提供了两种在容器内运行构建步骤的选项:

  • 在 Docker 中运行 构建功能 — 指定此配置所有构建步骤通用的全局容器设置。

  • 容器包装器 — 允许您在所需容器中运行单个步骤。

“Run in Docker”和“Container Wrapper”都提供相同的设置。

镜像名称

镜像名称如 DockerHub或其他注册表中所述。 TeamCity 将从指定的镜像启动一个容器,并尝试在此容器内运行所需的构建配置。 例如,`ruby:2.4` 将在 Ruby 容器(版本 2.4)中运行构建配置。

如果运行构建的代理安装了 Podman 而非 Docker,可以使用完整的镜像名称(例如, docker.io/library/alpine:latest ,而非 alpine:latest ),或确保在构建代理机器上的 registries.conf 文件中指定了注册表域。 另见: 如何管理 Linux 容器注册表

镜像平台

选择 <Any>(默认),Linux,或 Windows。 请注意,Podman 不支持 Windows 镜像。

每次运行强制拉取

如果启用,镜像将在发送 docker/podman run 命令之前通过 docker/podman pull <imageName> 从存储库中拉取。

额外的运行参数

允许为 docker/podman run 命令指定其他选项。 默认参数是 --rm ,但您可以提供更多参数。 例如,添加自定义卷映射。

Kotlin DSL

以下代码片段说明了如何在 Kotlin DSL 中配置 在 Docker 中运行 功能:

object BuildConf : BuildType({ name = "BuildConf" // ... features { runInDocker { dockerImage = "python:latest" dockerImagePlatform = RunInDockerBuildFeature.ImagePlatform.Linux dockerPull = true dockerRunParameters = "-a stdin -a stdout -i -t ubuntu /bin/bash" } } })
最后修改日期: 2025年 3月 21日