Docker Compose
Docker Compose 构建运行程序允许启动 Docker Compose 构建服务,并在构建结束时关闭它们。 使用这个运行器,您可以运行多容器 Docker 应用。
如果您需要从私有仓库中拉取一个基础镜像,或者将新构建的镜像推送到一个注册表,您可以按照以下方式对 Docker 或 Podman 注册表进行授权:
在您的项目设置中,从侧边栏选择 Connections ,并按照 配置与 Docker 的连接 中的指示,为您的项目添加新的 Docker 或 Podman 连接。
在您的构建配置设置中,按照 Docker 支持 中的说明配置 Docker 支持 构建功能,添加在上一步中创建的连接。
通用设置
此运行器是 TeamCity-Docker / Podman 集成工具集的一部分。 请参阅此文档文章,了解有关软件要求、支持的环境以及此集成的其他常见方面的信息:将 TeamCity 与容器管理器集成。
可用的步骤执行策略在 这里 描述。
Docker Compose 安装选项
在 TeamCity 代理上安装 Docker Compose 有两种选择:
作为一个 独立二进制文件;
为了更好的向后兼容性,TeamCity 首先检查是否安装了独立的 Compose 二进制文件。 如果是的话,运行器就会使用过时的 Compose V1 语法来运行命令(例如, docker-compose up
)。 否则,运行器会寻找已安装的插件并切换到现代的 Compose V2 语法(例如, docker compose up
)。
Docker Compose 设置
Docker Compose 运行器支持一个或多个带有在构建过程中将使用的服务描述的 Docker Compose YAML 文件。 向 docker-compose.yml
文件的路径应相对于 构建检出目录。 当指定多个文件时,用空格分隔它们。
一台 构建代理 将在构建过程中执行以下 docker-compose
命令:
如果启用了 明确拉取镜像 选项,那么 docker-compose pull
将在 docker-compose up
命令之前运行。
当使用 Docker Compose 与支持 HEALTHCHECK 的镜像时,TeamCity 将等待所有支持此参数的容器的 正常
状态。
如果 Docker Compose 的启动成功,TeamCity 代理将注册包含 Docker Compose 默认网络名称的 TEAMCITY_DOCKER_NETWORK
环境变量。 当它在一些构建运行程序中使用时,此网络会透明传递给 容器包装器。