加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用Jenkins管道发布Docker映像

发布时间:2020-12-16 03:26:33 所属栏目:安全 来源:网络整理
导读:我有一个构建docker映像的项目,在我的情况下,它是mongo映像的扩展,其中包含(在容器内部)数据.我使用此mongo docker映像进行集成测试. 目前,尚未使用Maven构建项目.当我要发布此图像的版本时,我在计算机上这样做并不理想. 我想保留一个文件,其中包含我的docke

我有一个构建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

最佳答案
第一件事是为您拥有的每个项目都有一个特定的仓库.这有助于在将Docker映像推送到存储库时不会弄乱它.

您可以使用管道脚本中的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映像.[未经亲自测试]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读