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

Gil*_*tes 5 deployment version-control continuous-integration docker

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

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

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

And*_*ndy 5

Docker Hub支持两种类型的repos,你还没有说过你正在使用哪种类型.在这两种情况下,我建议你将git修订版或标签名放在图像名称的版本部分,例如"account/repo:version "

手动存储库(docker push)

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

自动构建存储库

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

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


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

在此输入图像描述