目录

一、Jenkins

二、Jenkins环境搭建

1、下载所需的软件包

2、部署步骤

3、其他

三、Jenkins全局设置

(一)Manage Jenkins——Tools系统管理->全局工具配置分别配置JDK、Maven、Allure、Git,可以配置路径或者直接选择版本安装

1、jdk 配置

2、maven配置

3、Allure Commandline

4、Git配置

(二) Manage Jenkins -> System

Jenkins配置邮件发送

1、下载邮件插件

2、配置系统管理员邮箱地址:

3、配置Extended E-mail Notification:

四、Jenkins创建任务及配置

1、源码管理 Source Code Management

2、构建触发器

2.1 build periodically

2.2 poll scm

2. 3 时间表达式

3、丢弃旧的构建

4、参数化

项目——一般设置——参数化构建 This project is parameterized

字符参数、选项参数、布尔参数用的相对多一些

5、构建 执行命令

6、构建后的操作

7、Jenkins配置邮件发送

1、配置收件人及邮件内容

Post-build Actions -> Editable Email Notification

2、设置触发器

3、邮件可读权限——勾选匿名用户具有可读权限

五、jenkins中文乱码解决方案

解决方式一:环境变量配置

方式二:Jenkins全局设置


一、Jenkins


基于 Java 开发的持续集成工具,开源免费,官网下载: https://jenkins.io/download/


  • 持续、自动地构建/测试软件项目。
  • 更好地实现整个CI/CD流程。

二、Jenkins环境搭建

通过docker搭建的方式可见【这篇笔记】

1、下载所需的软件包

2、部署步骤

  1. 下载war包:jenkins.war
  2. 部署到tomcat(jenkins.war包放到tomcat的webapps目录)
  3. 启动Tomcat(进入到tomcat的bin目录下,找到startup.bat脚本执行启动即可)
  4. 验证:http://localhost:8080/jenkins/

3、其他

  • 获取密码

在第一次使用jenkins的时候默认会生成一个密码文件%JENKINS_HOME%\secrets\initialAdminPassword

打开文件,复制其中的初始登录的密码,粘贴然后登录

修改密码:系统管理--》管理用户

  • 启动后:Jenkins提示离线

打开jenkins->系统管理->管理插件->高级

或打开链接:http://ip:端口/jenkins/pluginManager/advanced

将升级站点http://updates.jenkins-ci.org/update-center.json换成http://mirror.esuni.jp/jenkins/updates/update-center.json

重启Tomcat

三、Jenkins全局设置

(一)Manage Jenkins——Tools系统管理->全局工具配置

分别配置JDK、Maven、Allure、Git,可以配置路径或者直接选择版本安装

1、jdk 配置

如果机器上已经装了jdk,直接指定JAVA_HOME目录即可

Jenkins源代码讲解_Jenkins源代码讲解

2、maven配置

如果机器上有下载maven,指定一个MAVEN_HOME目录即可。

Jenkins源代码讲解_运维_02

3、Allure Commandline

Jenkins源代码讲解_Jenkins源代码讲解_03

4、Git配置

Jenkins源代码讲解_运维_04

(二) Manage Jenkins -> System

Jenkins配置邮件发送

1、下载邮件插件

进入Manage Jenkins -> Plugin Manager,下载Email Extension插件

2、配置系统管理员邮箱地址:

Jenkins源代码讲解_Jenkins_05

3、配置Extended E-mail Notification:

密码不是邮箱密码是要生成授权码

Jenkins源代码讲解_Jenkins_06

四、Jenkins创建任务及配置

Jenkins源代码讲解_jenkins_07

  • 新建——Freestyle project 自由风格的项目
  • 新建——构建一个maven项目(如果没有这个选项,你需要在Jenkins里面安装Maven插件)在管理插件中下载maven插件:maven intergration

1、源码管理 Source Code Management

subversion/Git -> 填写项目repository url+credentials(用户名+密码)验证

Jenkins源代码讲解_运维_08

2、构建触发器

构建触发器是Jenkins启动一个Job构建的条件,当条件满足时,Job启动。可以设置为测试人员commit后自动编译(比如5分钟update一次svn,如果有提交则执行构建),或定时构建(比如每天晚上0点定时构建)

2.1 build periodically

隔一段时间build一次,不管版本库代码是否发生变化。

2.2 poll scm

隔一段时间比较一次源代码如果发生变更,那么就build。否则,不进行build。

2. 3 时间表达式

时间表达式是由五部分组成,每一部分中间由空格隔开,如下:

MINUTE HOUR DOM MONTH DOW

  • MINUTE 分钟值 (0–59)
  • HOUR 时钟值(0–23)
  • DOM 日期 (1–31)
  • MONTH 月份 (1–12)
  • DOW 一周中的某一天(0–7) 0和7都代表周天

每一部分还可以设置为以下的值

  • *:指所有的值
  • M-N:指一个范围区间内的值
  • M-N/X 或 */X:指(在一个范围内/所有)满足间隔X的值
  • A,B,...,Z:列举了这一部分所有的值

举例 

  1. 每天的晚上八点钟                     0 20 * * *
  2. 每月的第10号晚上零点             0 0 10 * *
  3. 每天晚上的八点10分到15分     10-15 20 * * *
  4. 每间隔10分钟                           */10 * * * *
  5. 每间隔1小时                             * */1 * * *
  6. 前三十分钟内每间隔5分钟        0-30/5 * * * *
  7. 每天的20,21,23点执行         0 20,21,23 * * *

3、丢弃旧的构建

Jenkins源代码讲解_Jenkins_09

4、参数化

项目——一般设置——参数化构建 This project is parameterized
字符参数、选项参数、布尔参数用的相对多一些

Jenkins源代码讲解_Jenkins_10

比如:需要打印的时候,打印出参数,控制台打印——$参数/${参数}

Jenkins源代码讲解_jenkins_11

5、构建 执行命令

maven项目后续的操作和freestyle项目一样的,包括参数化构建、报表等都没有区别;

主要区别是,mvn项目的命令行只能执行mvn命令,直接命令就是clean test

freestyle项目,可以执行所有命令,包括mvn,echo等等;执行时候不能省略mvn,需要写成mvn clean test

Jenkins源代码讲解_Jenkins_12

Jenkins源代码讲解_jenkins_13

6、构建后的操作

配置job任务——add post-build action

选择allure report

设置下allure-results目录的路径(相对路径,基于项目)

报表展示

在任务页面的左边菜单里会出现allure report选项,点击即可访问到allure报告

可将此url地址设置到邮件内容中发送给相关人

Jenkins源代码讲解_jenkins_14

7、Jenkins配置邮件发送

1、配置收件人及邮件内容
Post-build Actions -> Editable Email Notification

Jenkins源代码讲解_运维_15

2、设置触发器

Jenkins源代码讲解_Jenkins_16

3、邮件可读权限——勾选匿名用户具有可读权限

Jenkins源代码讲解_ci/cd_17

五、jenkins中文乱码解决方案

解决方式一:环境变量配置

系统管理->系统设置

Name:JAVA_TOOL_OPTIONS

Value:-Dfile.encoding=UTF-8

方式二:Jenkins全局设置

系统管理->系统设置

添加“全局属性”

设置key:LANG value:zh_CN.UTF-8