【Jenkins】配置及使用|参数化|邮件|源码|报表|乱码

目录

一、Jenkins

二、Jenkins环境搭建

1、下载所需的软件包

2、部署步骤

3、其他

三、Jenkins全局设置

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

[1、jdk 配置](#1、jdk 配置)

2、maven配置

[3、Allure Commandline](#3、Allure Commandline)

4、Git配置

[(二) Manage Jenkins -> System](#(二) Manage Jenkins -> System)

Jenkins配置邮件发送

1、下载邮件插件

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

[3、配置Extended E-mail Notification:](#3、配置Extended E-mail Notification:)

四、Jenkins创建任务及配置

[1、源码管理 Source Code Management](#1、源码管理 Source Code Management)

2、构建触发器

[2.1 build periodically](#2.1 build periodically)

[2.2 poll scm](#2.2 poll scm)

[2. 3 时间表达式](#2. 3 时间表达式)

3、丢弃旧的构建

4、参数化

[项目------一般设置------参数化构建 This project is parameterized](#项目——一般设置——参数化构建 This project is parameterized)

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

[5、构建 执行命令](#5、构建 执行命令)

6、构建后的操作

7、Jenkins配置邮件发送

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

[Post-build Actions -> Editable Email Notification](#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目录即可

2、maven配置

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

3、Allure Commandline

4、Git配置

(二) Manage Jenkins -> System

Jenkins配置邮件发送

1、下载邮件插件

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

2、配置系统管理员邮箱地址:
3、配置Extended E-mail Notification:

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

四、Jenkins创建任务及配置

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

1、源码管理Source Code Management

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

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、丢弃旧的构建

4、参数化

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

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

5、构建 执行命令

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

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

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

6、构建后的操作

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

选择allure report

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

报表展示

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

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

7、Jenkins配置邮件发送

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

2、设置触发器

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

五、jenkins中文乱码解决方案

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

系统管理->系统设置

Name:JAVA_TOOL_OPTIONS

Value:-Dfile.encoding=UTF-8

**方式二:**Jenkins全局设置

系统管理->系统设置

添加"全局属性"

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

相关推荐
爱喝水的鱼丶3 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
画中有画4 小时前
自动化脚本开发最佳实践
运维·自动化
江南风月6 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan7 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
MuMuMu12238 小时前
工业园区 VOCs 绿岛集中治理:越华环保集团项目技术方案与工程实践
大数据·运维
sxstj10 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
国际云,接待10 小时前
Nginx 后面接负载均衡,502/504 到底该先查哪里?
运维·nginx·负载均衡
刘某的Cloud11 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方11 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
程序员老陆13 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg