首页 > 解决方案 > Teamcity - 多个 docker 注册表凭证

问题描述

我需要使用我的 Dockerfile 构建 docker 映像,然后将其推送到我们的私有 docker 注册表。问题是在 Dockerfile 中我们有:

FROM docker_image_on_docker_hub

因此 TC 需要存储和使用凭据来访问 docker hub。但是一旦构建完成,需要将镜像推送到我们的私有 docker 注册表。

我知道我可以Command Line在可以运行的地方使用带有脚本的运行docker login ...器来做到这一点,但是......是否可以只使用构建功能、连接(其他任何东西)来做到这一点?

标签: dockerteamcity

解决方案


根据您使用的 TeamCity 版本,TC 2017 之后的任何内容都应该是好的,支持登录到容器注册表。

脚步:

1)转到任何项目的设置页面。

2)单击菜单侧栏中的“连接”。

3) 点击 + 添加连接 -> 选择 Docker Registry 并填写必填字段。

4)转到构建配置设置(来自同一项目的构建)

5)构建功能-> +构建功能-> Docker支持并选择您的连接

假设您正确输入了所有内容,任何将该连接作为构建功能的构建都将在构建开始之前登录。

如果您的版本没有此功能,您始终可以在空的构建配置中创建命令行构建步骤,然后从操作下拉列表中选择导出元运行器。这会将构建的当前构建步骤组合成一个自定义构建步骤,该自定义构建步骤将始终作为选项在未来的构建配置中进行选择。关键是以一种可重复使用的方式创建命令行步骤,这些参数在导出到元运行器时会自动成为表单字段。


推荐阅读