Jenkins与Docker相关的Plugin使用

原创
2015/07/21 14:00
阅读数 3.2W

##Jenkins与Docker相关的Plugin使用## ###Jenkins与Docker相关的Plugin### 在Jenkins Plugin页面搜索与Docker相关的插件,有如下几个:

  • CloudBees Docker Build and Publish plugin — This plugin provides the ability to build projects with a Dockerfile, and publish the resultant tagged image (repo) to the docker registry.
  • Docker build step plugin — This plugin allows to add various Docker commands into you job as a build step.
  • Docker Plugin — This plugin allows slaves to be dynamically provisioned using Docker.
  • Kubernetes Plugin — This plugin allows slaves to be dynamically provisioned on multiple Docker hosts using Kubernetes.
  • Docker Commons Plugin — APIs for using Docker from other plugins.

其中,它们间的关系如下:

  • Docker commons Plugin为其他与Docker相关的插件提供了APIs
  • CloudBees Docker Build and Publish plugin和Docker build step plugin都依赖了Docker commons Plugin
  • Kubernetes Plugin依赖了Docker Plugin

下面主要介绍下Docker build step plugin和CloudBees Docker Build and Publish plugin的使用。

###Docker build step plugin使用###

####设置Docker URL#### 系统管理→系统设置→Docker Builder,设置Docker URL并测试连接。

docker-build-step

####在Jenkins JOB的构建区域,增加构建步骤→Execute Docker container#### 有一系列Docker Command可选择

docker-build-step

docker-build-step

####以重启一个容器为例#### 选择Restart containers命令,并填写Container ID(s):

docker-build-step

Jenkins JOB创建成功后,点击构建,日志输出如下:

docker-build-step

####以Push镜像到Docker registry为例#### 选择Push images命令,并填写相关信息:

docker-build-step

Jenkins JOB创建成功后,点击构建,日志输出如下:

docker-build-step

###Docker Build Publish Plugin使用###

####设置源码地址,这里使用的是GIT@OSC#### 该项目是个Docker化的项目,Dockerfile在根目录下

docker-build-publish

####在Jenkins JOB的构建区域,增加构建步骤→Docker Build and Publish#### docker-build-publish

此外,Docker Build Publish Plugin还要一些高级选项

docker-build-publish

####Jenkins JOB创建成功后,点击构建,日志输出如下#### docker-build-publish

###参考###

展开阅读全文
打赏
6
92 收藏
分享
加载中

引用来自“jay_”的评论

请教下Docker URL填什么? 我写我自己的docker registry的地址 http://IP:5000 测试总是失败Something went wrong, cannot connect to http://10.20.2.54:5000/, cause: null
需要用tcp而非http
tcp://10.20.2.54:5000/
2019/04/18 11:00
回复
举报
可以热更新嘛
2017/01/01 11:05
回复
举报

引用来自“jay_”的评论

请教下Docker URL填什么? 我写我自己的docker registry的地址 http://IP:5000 测试总是失败Something went wrong, cannot connect to http://10.20.2.54:5000/, cause: null

引用来自“donhui”的评论

Docker URL和Docker registry URL不是一回事。 URI to the Docker server you are using. May be left blank to use the Docker default (typically unix:///var/run/docker.sock). 当然如果开启了Docker remote API,也可以使用tcp协议
请教一下,我在centos6.5下配置了远程docker的配置文件DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:6666",重启服务后,测试发现报同样的错,再查看端口发现却没有监听6666,求解
2016/02/16 12:05
回复
举报
donghui2020博主

引用来自“jay_”的评论

请教下Docker URL填什么? 我写我自己的docker registry的地址 http://IP:5000 测试总是失败Something went wrong, cannot connect to http://10.20.2.54:5000/, cause: null
Docker URL和Docker registry URL不是一回事。 URI to the Docker server you are using. May be left blank to use the Docker default (typically unix:///var/run/docker.sock). 当然如果开启了Docker remote API,也可以使用tcp协议
2015/09/03 17:44
回复
举报
请教下Docker URL填什么? 我写我自己的docker registry的地址 http://IP:5000 测试总是失败Something went wrong, cannot connect to http://10.20.2.54:5000/, cause: null
2015/09/03 11:22
回复
举报
donghui2020博主

引用来自“lxitgto”的评论

我们现在Gitlab + Gitlab CI都是docker里,build image是我自己写的web hook
这个是我自己玩的,目前没有应用到实际中
2015/07/22 14:32
回复
举报
我们现在Gitlab + Gitlab CI都是docker里,build image是我自己写的web hook
2015/07/22 13:18
回复
举报
donghui2020博主

引用来自“hantsy”的评论

用 Jenkins 发布一个Docker Image?

对于项目开发过程的 CI ,如果与 Docker 结合,我更希望,所有资源都是以 Container 方式运行。比如:GIT, MySQL, Java 8(Spring Boot), Jenkins 这些全部放在不同 Container 中,用 Jenkins 取出Git代码,编译,重新启动 Java8(Spring Boot) 部署。
所使用的Jenkins是以Container方式运行的,Java8(Spring Boot)没尝试过,不太明白为何把GIT放到 Container 中
2015/07/22 09:38
回复
举报
用 Jenkins 发布一个Docker Image?

对于项目开发过程的 CI ,如果与 Docker 结合,我更希望,所有资源都是以 Container 方式运行。比如:GIT, MySQL, Java 8(Spring Boot), Jenkins 这些全部放在不同 Container 中,用 Jenkins 取出Git代码,编译,重新启动 Java8(Spring Boot) 部署。
2015/07/22 08:58
回复
举报
更多评论
打赏
9 评论
92 收藏
6
分享
返回顶部
顶部