Jenkins
-
Jenkins是一款开源的持续集成工具,具有自动化构建,测试,部署等功能
-
![]()
-
可以在Jenkins上下载插件以满足编译条件
-
将代码提交到git上,设置git的触发条件,满足条件时,Jenkins下载远程code到本地,然后执行构建脚本等,自动构建,测试,部署等。
-
git上调用Jenkins暴露的接口,让Jenkins主动下载更新后的代码到本地
-
我们需要做什么?
新建一个item,配置git仓库及其余配置。
如果使用Maven项目构建,甚至不要Jenkins file,但是需要下载maven插件,如果需要部署在测试服务器上,需要下载publish-ssh插件。全部是点点点的配置工作。
-
也可以在发送至测试服务器后,执行脚本,脚本写在测试服务上,在Jenkins中配置执行脚本的命令。
-
分为手动构建和触发构建,一般还是手动构建比较实用,自动构建-->git调用Jenkins的地址,Jenkins自动构建。使用coding的好处就是一个系统之间可以省去配置密钥、密码之类的东西(比如git调用Jenkins的接口完成自动构建,如果不是使用的登录Jenkins的浏览器发送请求,会提示先登录Jenkins,而一个系统就不会有这个问题)。
-
触发构建方式:定时构建,远程调用构建,poll SCM Jenkins主动检查源码是否发生变化,通过版本号比对。
-
Jenkins corn表达式:

每隔5min

*换成H,H代表哈希值,达到随机数的目的。
H * * * * x点y分执行,下次x+1的y分执行
也可以 H/5 每隔5分钟执行一次,但是起始时间是不固定的
这样做是防止同一时间并发构建太多出现问题,于是加上H随机数。
H(0-30) 2 * * * (1-6)周一到周六凌晨2点随机(0-30)分钟执行
-
构建后发送邮件,管理员邮箱向设置邮箱发邮件,可以设置触发器构建失败后发送等。
-
pipeline
5个必备组成部分
pipeline:整条流水线 agent:指定执行器 stages:所有阶段 stage:某一阶段 step:阶段内的每一步 -
多分支流水线
测试分支构建后部署到测试服务器
生产分支构建后部署到生产服务器
在代码内部写入Jenkinsfile,实现差别化构建
Jenkins实践
集成allure
-
安装Jenkins,不同版本的Jenkins需要不同版本的jdk
-
Jenkins is fully up and running 表示jenkins已经启动。jenkins启动命令 java -jar jenkins.war
-
安装插件(有些已经在第一次启动Jenkins时自动安装了)
- 中文语言包
- git
- allure
-
配置插件
配置allure,将allure存在的路径配置上。
为什么需要配置?因为有些项目会用到不同版本的allure,这些allure表现不同。为了防止冲突,所以配置allure的安装目录。

-
创建一个item,选择自由风格
配置仓库地址,配置git仓库地址与密码

- 增加构建命令

- 配置allure报告所需的Json文件路径

-
遇到的问题
命令行加上alluredir 没收集到用例

解决方案:手动加上目录

报错 allure报告生成失败

重启后成功了。


浙公网安备 33010602011771号