Jenkins2 学习系列26 -- 使用阿里云容器镜像服务

2019-08-24  本文已影响0人  飞凡的陀螺

本篇告诉你:

  1. 登录阿里云账号,在产品服务中搜索“容器镜像服务”,首先我们先创建一个命名空间,一个命名空间可以包含多个镜像仓库,你可以理解为项目组
image.png
  1. 然后来到镜像仓库,创建一个新的镜像仓库,一个镜像仓库其实对应一个项目的代码仓库
image.png
  1. 这里拉仓库代码和Docker构建,我不希望让阿里云帮我构建,而是在Jenkins完成,只是构建完成后并上传到这个刚创建的镜像仓库中。
    所以选择“本地仓库”
image.png

至此,我们获得了一个阿里云提供的私有仓库地址,点击操作的管理页面,会有具体的操作指南

image.png
  1. 复制镜像地址 registry.cn-zhangjiakou.aliyuncs.com/fineyma/node-demo

  2. Jenkins 中新建一个 freestyle 项目,填写Git仓库地址,添加构建步骤,Build - Add build step - Publish Docker Image

image.png

需要注意镜像名称要填写完整 registry.cn-zhangjiakou.aliyuncs.com/fineyma/node-demo:${BUILD_NUMBER}-${GIT_PREVIOUS_COMMIT}
格式是 registry地址/命名空间/镜像仓库名:tag

其中 tag 为了保证唯一,使用了 Jenkins 提供的GIT_PREVIOUS_COMMITBUILD_NUMBER环境变量

  1. 点击构建,查看日志,看到 Docker Build Done

阿里云中也可以看到刚刚构建的镜像,注意查看版本

image.png

版本号其实就是自增的构建次数+commit_id,是和仓库的提交id一致的 https://github.com/mafeifan/docker-express-demo/commit/c5636e58f3603e8a40fed6dd8d991db09f80b156

所以在任何装有Docker的主机上,根据提交id,我们就可以方便的docker run部署和回滚项目

怎么用pipeline实现同样的操作呢,请见下篇

心得

生成环境部署Docker容器还是方便非常的, 比较费时的是寻找好的Docker基础镜像和写好Dockerfile,尽量让Dockerfile打包生成的镜像小些,而Dockerfile一般基于Linux,所以掌握好Linux基础知识是关键。

上一篇 下一篇

猜你喜欢

热点阅读