我有一个构建docker映像的项目,在我的情况下,它是mongo映像的扩展,其中包含(在容器内部)数据.我使用此mongo docker映像进行集成测试.
目前,尚未使用Maven构建项目.当我要发布此图像的版本时,我在计算机上这样做并不理想.
我想保留一个文件,其中包含我的docker映像的当前版本(例如pom.xml).
我应该怎么做,在我的项目中添加一个pom.xml以进行版本控制和maven-release-plugin,并添加一个简单的version.txt在发布过程中进行更新?
还是有一个我不知道这样做的类似“ docker.version”文件?
我在GitHub上发布了我的项目示例:https://github.com/Ameausoone/mongodb-docker-with-data
您可以使用管道脚本中的Shell脚本/命令来执行此处提到的所有命令.
将Docker映像推送到存储库的方式有多种.
Tagging based on Time and Build Number:
以auth-api为例,我们在jenkins中创建一个名为$DOCKER_TAG的环境变量,并将其设置为创建构建的时间:
DOCKER_TAG: $(date +%Y%m%d).$BUILD_NUMBER
$BUILD_NUMBER是Jenkins工作的一部分.现在,如下标记docker映像:
docker tag DOCKER_IMAGE auth-api/<DOCKER_IMAGE>:<DOCKER_TAG>
(假设您已经构建了docker镜像,并在执行上述步骤后将其推送到存储库中.)
注意:Docker仅在与REPO-NAME匹配时才允许推送图像)
它有助于找出Docker映像创建的日期和时间以及内部版本号.该映像可以部署到不同的环境,例如dev,test,prod.
Tagging based on the environment
根据部署环境(即开发,测试,生产)标记Docker映像.
使用withenv在管道脚本中配置环境变量,该变量可能类似于以下内容:
docker tag DOCKER_IMAGE auth-api/<DOCKER_IMAGE>:$ENV
这将有助于具有特定于部署的Docker映像.
您甚至可以根据git commit标记docker映像.[未经亲自测试]