如何将版本控制系统修订与Docker镜像版本同步?

时间:2014-09-23 05:41:18

标签: deployment version-control continuous-integration docker

在Docker注册表和Git(例如)版本中关联Docker镜像版本的常见常规模式是什么?因此,存储库的用户将能够切换任何修订版本并重新创建与该特定修订版本对应的环境。

例如,我有一个包含项目和集成服务器的存储库,它可以为存储库中的每个提交自动构建Docker镜像。这些图像如何与相应的存储库提交相关联?

使用Docker你有两个不同的存储库 - 一个项目和一个Docker镜像 - 所以它们必须同步,但推荐的工作流程是什么?

1 个答案:

答案 0 :(得分:5)

Docker Hub支持两种类型的回购,但您还没有说过您正在使用哪种类型。在这两种情况下,我建议您将git修订版或标记名放在图像名称的版本部分中,例如"帐户/回购:版本"

手动存储库(docker push

对于手动构建,您应该docker tag每个版本都带有git版本。这是推荐的方法,因为它为您提供了最大程度的控制,并且可以在您的构建系统上实现自动化。

自动构建存储库

对于Docker Hub上的自动构建,您需要为要构建的每个修订或标记手动创建新条目。这需要转到Hub Web UI并为您的repo创建新的构建配置,如下图所示。目前没有API允许您更改repo上的构建设置,当您向Git Hub仓库添加标签时,自动构建系统也不会自动添加Docker Hub标记。

注意目前(2014-10-07)存在一个错误,其中自动构建实际上并不是从源代码存储库中的标记构建的,它们是从主分支的头部构建的。状态显示在https://status.docker.com


以下是如何将构建配置添加到自动构建中:

enter image description here