在 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日