TeamCity On-Premises 2024.03 Help

Docker

Docker 构建运行程序允许在您的构建中启动 构建推送tag Docker命令。

如果您需要将新构建的镜像推送到注册表,您可以通过配置 Docker Support 构建功能来授权 Docker 或 Podman 注册表,具体操作如下:

  1. 在您的项目设置中,从侧边栏选择 Connections ,并按照 配置与 Docker 的连接 中的指示,为您的项目添加新的 Docker 或 Podman 连接。

  2. 在您的构建配置设置中,按照 Docker 支持 中的说明配置 Docker 支持 构建功能,添加在上一步中创建的连接。

如果您的 VCS 仓库中存在一个 Dockerfile,并且您基于此仓库创建了一个 TeamCity 项目,TeamCity 将自动检测它,并提供使用此运行程序创建构建步骤的选项。

通用设置

此运行器是 TeamCity-Docker / Podman 集成工具集的一部分。 请参阅此文档文章,了解有关软件要求、支持的环境以及此集成的其他常见方面的信息:将 TeamCity 与容器管理器集成

可用的步骤执行策略在 这里 描述。

Docker 命令

根据选定的命令,运行器提供以下设置:

命令

形参

描述

构建

Dockerfile 源码

根据所选的源,下面的设置会有所不同。 可用选项包括 FileURLFile content

文件路径

适用于 File 源类型:

指定到 Dockerfile 的路径。 路径应相对于 build checkout directory

上下文文件夹

适用于 File 源类型:

docker build 指定 上下文。 如果为空,则将使用 Dockerfile 的父目录。

文件的 URL

适用于 URL 源类型:

URL可以引用三种资源之一:Git仓库、预打包的 tarball 上下文和普通文本文件。 参见 Docker 文档 获取详细信息。

文件内容

适用于 File Content 源类型:

您可以在字段中输入 Dockerfile 的内容。

镜像平台

选择 <Any>(默认),Linux,或 Windows。

镜像名称:标签

提供一个换行分隔的镜像名称:标签列表。

构建 命令的附加参数

docker build 命令提供额外的参数。 参阅 Docker 文档 了解详情。

推送

推送后从代理中移除镜像

如果选中,TeamCity 将在步骤结束时删除带有 docker rmi 的镜像。

镜像名称:标签

提供一个换行分隔的镜像名称:标签列表。

其他

命令名称

Docker 子命令,如 推送tag。 对于 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>

我们建议从 sudoers 文件中删除(或注释) 默认需要tty 行,以防止 docker login 相关的问题

最后修改日期: 16日 7月 2024年