如何释放与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道脚本中使用withenv
configuration一个环境variables,可能看起来像这样:
docker tag DOCKER_IMAGE auth-api/<DOCKER_IMAGE>:$ENV
这将有助于部署特定的泊坞窗图像。
你甚至可以根据git commit来标记docker镜像[未经过个人testing]