Docker映像进行版本控制

Docker映像进行版本控制

游戏|数码彩彩2024-04-18 7:42:23409A+A-
Docker映像进行版本控制

 

 

虽然可能有上千种版本的Docker映像版本,但我将向您展示一个非常简单的方法,即使用已经非常普遍的方法。它将确保图像的版本与Git版本标签匹配,因此您可以确切知道图像内包含哪些代码。

本教程假定您已经具有构建映像的Dockerfile。

版本文件

首先,创建一个VERSION文件,其中只包含版本号:

0.0.1

您需要将此VERSION文件存储在映像中以确保完整性(并且因为您的程序可以使用它来显示版本),因此请在Dockerfile中添加以下内容:

ADD VERSION .

这会将VERSION文件添加到您的WORKDIR。

构建脚本

如果您还没有构建脚本,请创建一个并将其命名为build.sh。最简单的形式就是运行您的docker build:

set -ex
# SET THE FOLLOWING VARIABLES
# docker hub username
USERNAME=treeder
# image name
IMAGE=helloworld
docker build -t $USERNAME/$IMAGE:latest .

您可能需要在此处执行一些额外的构建步骤,因此请继续添加它们。或者您可能有自己的构建脚本,在这种情况下,您可以忽略此脚本,而只需更改下面脚本中的行即可运行构建。确保使用chmod a + x ./build.sh以便可以运行它。

Release脚本

现在,让我们创建一个名为release.sh的简单发布脚本,该脚本将提高版本,运行构建脚本,设置git标签,将标签推送到GitHub,构建映像,最后将映像推送到Docker Hub。您可以复制并粘贴以下脚本-只需确保更改顶部的值以匹配您的Docker Hub信息即可:

set -ex
# SET THE FOLLOWING VARIABLES
# docker hub username
USERNAME=treeder
# image name
IMAGE=helloworld
# ensure we're up to date
git pull
# bump version
docker run --rm -v "$PWD":/App treeder/bump patch
version=`cat VERSION`
echo "version: $version"
# run build
./build.sh
# tag it
git add -A
git commit -m "version $version"
git tag -a "$version" -m "version $version"
git push
git push --tags
docker tag $USERNAME/$IMAGE:latest $USERNAME/$IMAGE:$version
# push it
docker push $USERNAME/$IMAGE:latest
docker push $USERNAME/$IMAGE:$version

使用chmod a + x ./release.sh使其可执行,然后使用./release.sh使其运行。

每次发布时,只需运行./release.sh,您将获得与源代码相匹配的精美版本的映像!

翻译自:https://medium.com/better-programming/how-to-version-your-docker-images-1d5c577ebf54

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈