跳转到主要内容

命名和查询docker标签

项目描述

动机

在构建复杂的Docker生态系统时,在将构建推送到仓库之前对每个Docker构建进行唯一标记非常重要。这允许您通过使用不同版本的Docker镜像来回移动时间,将生产/QA/预发布环境固定到不同的标签等。

安装

$ pip install --upgrade docker-tag-naming

命令

使用docker-tag-naming带来的最有趣的功能之一是现在可以查询特定分支中哪个标签是最新的

$ docker-tag-naming latest andresriancho/w3af develop
v112-01460cd-develop

根据我们的约定,112是版本号,01460cdgit提交ID,develop是分支。

可以手动创建一个新的版本标签,用于任何仓库镜像

$ docker-tag-naming forge --version 332 --commit-id cd14580 --branch master
v332-cd14580-master

但最有趣的功能是增加版本

$ docker-tag-naming bump andresriancho/w3af develop --commit-id cd14580
v113-cd14580-develop

请注意,113是通过从andresriancho/w3af仓库检索最新版本标签并执行+1创建的。

持续交付使用

以下是一些示例,展示如何使用docker-tag-naming与持续交付。首先,在基础镜像中使用bump标记并推送版本

$ export NEXT_TAG=`docker-tag-naming bump username/base-image ${BRANCH} --commit-id ${COMMIT_ID}`
$ docker tag username/base-image username/base-image:$NEXT_TAG
$ docker push username/base-image:$NEXT_TAG

然后,在构建中使用基础镜像,查询最新版本

$ export LATEST_TAG=`docker-tag-naming latest username/base-image develop`
$ render-compose --latest-base-image $LATEST_TAG
$ docker-compose up

使用这些步骤将确保在构建中始终使用最新可用的镜像。

身份验证和私有镜像

为了列出私有镜像的标签名称,docker-tag-naming需要凭证,这些凭证可以使用环境变量REGISTRY_USERREGISTRY_PASS设置。

$ export REGISTRY_USER=username
$ export REGISTRY_PASS=password
$ docker-tag-naming bump username/private develop --commit-id cd14580

重要免责声明

docker registry/hub(https://registry.hub.docker.com/)似乎存在延迟,通过Web界面(您的浏览器)显示的内容和REST API之间。在使用这些命令进行持续集成脚本时,请注意这一点,因为您最近推送的标签可能不会立即出现!

可能有助于作为解决方案的命令是 docker-tag-naming refresh,它将查询API,直到有新版本可用或达到超时。

$ docker-tag-naming refresh username/base-image develop
Initial version is v113-cd14580-develop , waiting for new release...
New version found: v114-5151bc0-develop

$ docker-tag-naming latest andresriancho/w3af develop
v114-5151bc0-develop

报告错误

请在 docker-tag-naming的issue tracker 中报告您的问题和功能请求,我们将非常乐意修复它们。

欢迎提交拉取请求!

构建状态

https://circleci.com/gh/andresriancho/docker-tag-naming.svg?style=svg

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

docker-tag-naming-1.0.6.tar.gz (6.7 kB 查看哈希值)

上传时间

支持