Docker
Docker 构建运行程序允许在您的构建中启动 构建
、 推送
和 tag
Docker命令。
如果您需要将新构建的镜像推送到注册表,您可以通过配置 Docker Support 构建功能来授权 Docker 或 Podman 注册表,具体操作如下:
在您的项目设置中,从侧边栏选择 Connections ,并按照 配置与 Docker 的连接 中的指示,为您的项目添加新的 Docker 或 Podman 连接。
在您的构建配置设置中,按照 Docker 支持 中的说明配置 Docker 支持 构建功能,添加在上一步中创建的连接。
如果您的 VCS 仓库中存在一个 Dockerfile,并且您基于此仓库创建了一个 TeamCity 项目,TeamCity 将自动检测它,并提供使用此运行程序创建构建步骤的选项。
通用设置
此运行器是 TeamCity-Docker / Podman 集成工具集的一部分。 请参阅此文档文章,了解有关软件要求、支持的环境以及此集成的其他常见方面的信息:将 TeamCity 与容器管理器集成。
可用的步骤执行策略在 这里 描述。
Docker 命令
根据选定的命令,运行器提供以下设置:
命令 | 形参 | 描述 |
---|---|---|
| Dockerfile 源码 | 根据所选的源,下面的设置会有所不同。 可用选项包括 File、URL 和 File content。 |
文件路径 | 适用于 File 源类型: 指定到 Dockerfile 的路径。 路径应相对于 build checkout directory。 | |
上下文文件夹 | 适用于 File 源类型: 为 | |
文件的 URL | 适用于 URL 源类型: URL可以引用三种资源之一:Git仓库、预打包的 tarball 上下文和普通文本文件。 参见 Docker 文档 获取详细信息。 | |
文件内容 | 适用于 File Content 源类型: 您可以在字段中输入 Dockerfile 的内容。 | |
镜像平台 | 选择 <Any>(默认),Linux,或 Windows。 | |
镜像名称:标签 | 提供一个换行分隔的镜像名称:标签列表。 | |
| 向 | |
| 推送后从代理中移除镜像 | 如果选中,TeamCity 将在步骤结束时删除带有 |
镜像名称:标签 | 提供一个换行分隔的镜像名称:标签列表。 | |
其他 | 命令名称 | Docker 子命令,如 |
工作目录 | ||
命令的附加参数 | 将会传递给 |
通过 sudo 运行 Docker
您可以通过 sudo
在 TeamCity 代理上强制启动 Docker 命令。 在 构建代理配置文件 或代理的系统属性中添加 teamcity.docker.use.sudo=true
设置。 在代理启动时,TeamCity 代理日志将告知您, sudo
前缀用于运行 Docker 命令。
要为 sudo
命令配置 sudoers
文件,请按照以下方式使用 visudo
:
我们建议从 sudoers
文件中删除(或注释) 默认需要tty
行,以防止 与 docker login
相关的问题。