01
jenkins介绍及docker部署
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
1、创建网络
2、下载并运行 docker:dind镜像
创建docker目录,下面创建一个Dockerfile
进入docker目录,执行下述命令,根据dockerfile创建一个自己的jenkins镜像
启动自己的jenkins镜像
运行后查看容器执行日志
复制日志中的这一段,保存起来
在浏览器访问http://ip:8080 ip要替换成你服务器的ip,需要等待大概10分钟的样子,才能进入到初始安装页面
安装插件需要耐心等待,比较耗时,插件安装完后进入下述页面
然后点击开始使用jenkins,重启下jenkins,命令是
02
安装需要的其他插件
点菜单系统管理–>插件管理,依次搜索下述插件并安装
allure、Groovy、dingtalk
安装完成后,重启jenkins
03
全局工具配置
点菜单系统管理–>全局工具配置
04
邮件配置
以下以 QQ 邮箱为例,企业中需要和邮箱管理员沟通
1、先开启qq邮箱的smtp服务
开启 QQ 邮箱 SMTP 服务,打开 QQ 邮箱进入设置
进入帐户
开启 SMTP 服务
发送验证码到指定号码
点击确定,SMTP 服务已开启
2、qq邮箱凭据配置
进入系统管理–>Manage Credentials
3、jenkins邮箱基础配置
进入系统管理–>系统配置,做如下配置
增加系统管理员邮件地址
邮件配置测试,注意这里只是测试
找邮件通知的区域,进行配置及测试
点击测试后提示成功,并且邮箱会收到一封邮件,说明邮件发送没有什么问题
配置扩展邮箱
该配置将会作为我们jenkins任务执行完成后的邮件模板
找到Extended E-mail Notification区域,做如下配置,注意点高级才能凭据选择
05
git凭据配置
进入系统管理–>Manage Credentials,注意这里是你在码云上的用户名和密码
06
钉钉通知基础配置
1、登录钉钉,配置钉钉机器人
参考链接:
https://developers.dingtalk.com/document/robots/custom-robot-access
2、jenkins里配置钉钉
进入系统管理–>系统配置,找到钉钉区域,做如下配置
07
节点配置
因为我们要执行的是接口自动化,并且我们希望在jenkins slave节点上执行,而不是在jenkins所在的master上执行,因此我们需要配置节点相关的内容
上图中master指的是jenkins所在服务器,用来统筹管理各个任务及配置
slave指的是各个自动化任务执行的机器,也叫作节点
master通过管理节点,及任务中的节点配置将不同的任务分配到不同的设备上执行
1、节点配置
打开jenkins的系统管理->全局安全管理页面,进行如下设置并保存
打开jenkins的系统管理->节点管理页面,点击左侧的新建节点
节点创建后初始是未连接状态
2、docker部署slave节点及连接
我们使用节点是用来完成接口自动化项目的执行,先创建一个目录叫dockepython,其中创建一个Dockerfile文件,内容如下
然后在dockerpython目录下执行下述命令,来创建镜像
镜像创建成功后,使用下述命令启动节点,
http://192.168.0.129:8080 指的是jenkins master的连接地址
229df21ef95e2528db6592b8d3557afe35aad17d0ce2c311ef5475091c8a0bb7 这是在节点管理中点击未连接的节点,可以看到这一串,复制过来
启动后查看日志,日志出现Connected,说明连接成功
08
pipeline流水线任务
1.创建流水线任务
点击jenkins首页新建任务
2、钉钉通知配置
3、构建触发器配置
构建触发器指的就是什么时候执行该任务,通常自动化测试的任务在晚上0点执行,所以配置如下
点击保存
4、流水线脚本生成
jenkins pipeline脚本基础语法:
中文在线文档:https://www.jenkins.io/zh/doc/book/pipeline/
还有一个:https://www.w3cschool.cn/jenkins/jenkins-qc8a28op.html
实际上我们不用手动去编写这样的脚本,我们可以利用jenkins提供的生成功能来做
打开任务后,点击左侧的流水线语法
生成节点脚本
生成自动化项目拉取脚本
生成allure报告处理脚本
生成邮件发送脚本
填入pipeline脚本,点击保存,然后执行