如何释放与Jenkinspipe道的docker图像

我有一个项目来build立一个docker图像,在我的情况下,它是一个包含(容器内)数据的mongo图像的扩展。 我使用这个mongo docker镜像进行集成testing。

目前,Maven并不习惯构build这个项目。 当我想发布这个图像的一个版本,我在我的电脑上这是不理想的。

我想保留一个文件,其中包含我的泊坞窗图像的当前版本(如pom.xml)。

我应该做些什么,在我的项目中添加一个pom.xml,用于versionning和maven-release-plugin,添加一个简单的version.txt,在我的发布过程中进行更新?

还是有一个像“docker.version”文件,我不知道这样做?

我在GitHub上发布我的项目的一个例子: https : //github.com/Ameausoone/mongodb-docker-with-data

首先是为每个项目制定具体的回购协议 。 这有助于在将泊坞窗图像推送到存储库时不会弄乱docker图像。

您可以使用pipe道脚本中的shell脚本/命令来执行这里提到的所有命令。

将Docker镜像推送到存储库有多种方法。

基于时间和内部版本号进行标记:

以auth-api为例,我们在jenkins中创build了一个名为$ DOCKER_TAG的envvariables,并将其设置为创build时的时间:

DOCKER_TAG: $(date +%Y%m%d).$BUILD_NUMBER 

作为Jenkins工作的一部分提供$ BUILD_NUMBER。 现在标记泊坞窗图像如下:

 docker tag DOCKER_IMAGE auth-api/<DOCKER_IMAGE>:<DOCKER_TAG> 

(假设你已经构build了docker镜像,并在标记之后将其推送到存储库 – 上述步骤)。

注意:Docker允许只有在匹配REPO-NAME的情况下才能推送图像)

它有助于找出docker图像创builddate和时间以及内部版本号。 这个图像可以部署到不同的环境,如开发,testing,产品。

基于环境标记

根据部署环境(即dev,test,prod)标记Docker镜像。 在pipe道脚本中使用withenvconfiguration一个环境variables,可能看起来像这样:

 docker tag DOCKER_IMAGE auth-api/<DOCKER_IMAGE>:$ENV 

这将有助于部署特定的泊坞窗图像。

你甚至可以根据git commit来标记docker镜像[未经过个人testing]