如何使用Jenkins管道释放Docker图像



我有一个构建Docker映像的项目,在我的情况下,它是Mongo Image的扩展,其中包含(内部)数据。我使用此Mongo Docker图像来集成测试目的。

目前,Maven尚未用于构建项目。当我想发布此图像的版本时,我会在计算机上这样做,这不是理想的。

我想保留一个文件,其中包含我当前版本的docker映像(例如pom.xml)。

我该怎么办,在我的项目中添加一个pom.xml进行版本启动和maven-release-plugin,添加一个简单的版本.txt,我在发布过程中更新了它?

还是我不知道这样做的" docker.version"文件?

我在github上发布了我的项目的示例:https://github.com/ameausoone/mongodb-docker-with-data

首先是为您拥有的每个项目都有一个特定的回购。这有助于不将Docker图像推到存储库时。

您可以使用管道脚本中的Shell脚本/命令执行此处提到的所有命令。

有多种方式将Docker图像推向存储库。

基于时间和构建编号标记:

以Auth-Api的示例为例,我们在其中创建了一个ENV变量,称为$ Docker_tag在Jenkins中,并将其设置为创建构建的时间:

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

$ build_number是詹金斯作业的一部分。现在标记Docker映像如下:

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

(假设您已经构建了Docker映像,并将其推到标记之后 - 上述步骤。)

注意:Docker允许仅在匹配repo-name时才推动图像)

它有助于找出Docker Image创建日期和时间以及构建编号。该图像可以部署到不同的环境,例如开发,测试,产品。

基于环境标记

基于部署环境,即开发,测试,产品标记Docker映像。使用withenv在管道脚本中配置环境变量,它看起来像这样:

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

这将有助于拥有特定的Docker图像。

您甚至可以基于git commit标记docker映像。[未亲自测试]

最新更新