当前位置:首页 > TAG信息列表 > jenkins用不用dockerdocker和jenkins区别或着有什么关系?介绍

jenkins用不用dockerdocker和jenkins区别或着有什么关系?介绍

jenkins用不用docker docker和jenkins区别或着有什么关系?

docker和jenkins区别或着有什么关系?

docker相当于是一个容器,可以集合所有软件在里面

jenkins是一个自动化部署工具

微服务在dockerk8s下如何部署?

正好最近在项目中用到了这些技术,我来抛砖引玉吧。

首先说结论:

jenkins用不用docker docker和jenkins区别或着有什么关系?

1.k8s是非常好的一项技术,很稳定。如果发现正在运行的pod的数量不等于用户设定的期望值,k8s则会自动创建或者删除pod,直到两者相等。这样既保障了服务的不间断运行,同时还可以动态缩放服务的规格。用户只要调整pod的replicate的数量即可,其他的都交给k8s就好,非常省心。

2.要用jenkins来集成命令行操作,虽然我个人非常偏爱使用命令行,但是我不得不承认用jenkins集成命令行操作会极大的提升工作效率。

下面说实现步骤:(本文以azure平台为例)

1.编写dockerfile

2.在jenkins创建任务,并执行包含如下命令的脚本

2.1gitpull源代码到本地

2.2dockerbuild命令生成镜像文件

2.3docker定义镜像文件版本号并上传到azure平台

2.4kubectl命令来创建k8s的deployment&service.

2.5每次版本更新可以调用updateimage来编译新的镜像版本并提供给k8s使用

注意在创建k8s的deployment和service的时候需要编写yaml格式的配置文件,deployment配置包括名称,镜像文件地址,cpu最大最小分配值,内存最大最小分配值等。service配置文件包括名称,引用的deployment名称,以及是否使用loadbalancer等。

更多详细信息可以参考我的wiki.https://github.com/faminghou/mywiki

用jenkins打包docker镜像的时候,怎么把版本号加上去?

  1. 先创建一个自由风格的软件项目

  2. 勾选"参数化构建过程",然后选择参数类型,比如"字符参数"

  3. 在构建步骤中选择"build/publishdockerimage"(前提是安装好docker插件)

  4. 如果不想使用docker插件,可以直接通过脚本的方式,但是tag还是通过${var}的方式给到docekrbuild命令

  5. 保存后点击"buildwithparameters"按钮,开始构建,输入tag参数值后,点击"开始构建"

jenkins用不用dockerdocker自动化部署jenkins部署docker


光明号 中智号

  • 关注微信关注微信

猜你喜欢

微信公众号