我需要使用我的 Dockerfile 构建 docker 镜像,然后将其推送到我们的私有(private) docker 注册表。问题是在 Dockerfile 中我们有:FROM docker_image_on_docker_hub
因此 TC 需要存储和使用凭据来访问 docker hub。但
构建完成后,需要将镜像推送到我们的私有(private) docker 注册表。
我知道我可以使用 Command Line
做到这一点带有脚本的运行器,我可以在其中运行 docker login ...
但是......是否可以仅使用构建功能、连接(其他任何东西)来做到这一点?
最佳答案
根据您使用的 TeamCity 版本,TC 2017 之后的任何内容都应该是好的,支持登录到容器注册表。
脚步:
1)转到任何项目的设置页面。
2)单击菜单侧栏中的“连接”。
3) 点击 + 添加连接 -> 选择 Docker Registry 并填写必填字段。
4)转到构建配置设置(来自同一项目的构建)
5)构建功能-> +构建功能-> Docker支持并选择您的连接
假设您正确输入了所有内容,则任何将该连接作为构建功能的构建都将在构建开始之前登录。
如果您的版本没有此功能,您始终可以在空的构建配置中创建命令行构建步骤,然后从操作下拉列表中选择导出元运行器。这会将构建的当前构建步骤合并到一个自定义构建步骤中,该自定义构建步骤将始终作为选项在 future 的构建配置中进行选择。关键是以一种可重复使用的方式创建命令行步骤,这些参数在导出到元运行器时会自动成为表单字段。
关于docker - Teamcity - 多个 docker 注册表凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52546092/