Teamcity - 多个 docker 注册表凭据

pb1*_*100 0 teamcity docker

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

FROM docker_image_on_docker_hub

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

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

小智 5

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

脚步:

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

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

3) 单击 + 添加连接 -> 选择 Docker 注册表并填写必填字段。

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

5) Build Features -> + Build Feature -> Docker Support 并选择您的连接

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

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