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

目录

一、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、下载所需的软件包

  • Tomcat Index of /dist/tomcat/tomcat-8

  • Jenkins Jenkins download and deployment

  • Allure https://github.com/allure-framework/allure2/releases

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/249698.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断当前设备是不是安卓或者IOS?

代码(重要点): 当前文件要是 xxx.js文件,就需要写好代码后调用才会执行: // 判断是不是安卓 const isAndroid () > {return /android/.test(navigator.userAgent.toLowerCase()); }// 判断是不是ios const isIOS () > {return /iphone|ipad|ipod/.test(navigator.use…

JUC并发编程01——进程,线程(详解),并发和并行

目录 1.进程和线程的概念及对比1.进程概述 2.线程3.对比 2.并行与并发1.并发2.并行 3.线程详解3.1.创建和运行线程3.1.1.Thread3.1.2.Runnable结合Thread 创建线程3.1.3.Callable 3.2线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终止模式 daemon不推荐使用的…

Kotlin 协程:用源码来理解 ‘viewModelScope‘

Kotlin 协程:用源码来理解 ‘viewModelScope’ Kotlin 协程是 Kotlin 语言的一大特色,它让异步编程变得更简单。在 Android 开发中,我们经常需要在后台线程执行耗时操作,例如网络请求或数据库查询,然后在主线程更新 UI…

坚持刷题 | 完全二叉树的节点个数

Hello,大家好,我是阿月!坚持刷题,老年痴呆追不上我,今天刷:完全二叉树的节点个数 题目 222.完全二叉树的节点个数 代码实现 class TreeNode {int val;TreeNode left, right;public TreeNode(int val) …

Android进阶之路 - ViewPager2 比 ViewPager 强在哪?

我记得前年(2022)面试的时候有被问到 ViewPager 和 ViewPager2 有什么区别?当时因为之前工作一直在开发售货机相关的项目,使用的技术要求并不高,所以一直没去了解过 ViewPager2~ 去年的时候正好有相关的功能需求&#…

数学建模 - 线性规划入门:Gurobi + python

在工程管理、经济管理、科学研究、军事作战训练及日常生产生活等众多领域中,人们常常会遇到各种优化问题。例如,在生产经营中,我们总是希望制定最优的生产计划,充分利用已有的人力、物力资源,获得最大的经济效益&#…

pytorch_car_caring 排坑记录

pytorch_car_caring 排坑记录 任务踩坑回顾简单环境问题代码版本问题症状描述解决方法 cuda问题(异步问题)症状描述解决方法 任务 因为之前那个MPC代码跑出来的效果不理想,看了一天代码,大概看明白了,但要做改进还要有…

R-YOLO

Abstract 提出了一个框架,名为R-YOLO,不需要在恶劣天气下进行注释。考虑到正常天气图像和不利天气图像之间的分布差距,我们的框架由图像翻译网络(QTNet)和特征校准网络(FCNet)组成,…

【数睿】数睿常见问题处理

连接器请求地址修改 cat /home/sdata2/tomcat/bin/setenv.sh修改里面的 SYSTEM_URL 为数睿服务实际访问地址 如图所示 连接器执行 异常日志 2024-01-23 18:01:49,586 (conf-file-poller-0) [ERROR - org.apache.flume.node.PollingPropertiesFileConfigurationProvider$Fil…

全链路压测的关键点是什么?

全链路压测是一种重要的性能测试方法,用于评估应用程序或系统在真实生产环境下的性能表现。通过模拟真实用户行为和流量,全链路压测能够全面评估系统在不同负载下的稳定性和性能表现。本文将介绍全链路压测的关键点,以帮助企业更好地理解和应…

Redis核心技术与实战【学习笔记】 - 10.浅谈CPU架构对Redis性能的影响

概述 可能很多人都认为 Redis 和 CPU 的关系简单,Redis 的线程在 CPU 上运行,CPU 快 Reids 处理请求的速度也很快。 其实,这种认知是片面的,CPU 的多核架构及多 CPU 结构,也会影响到 Redis 的性能。如果不了解 CPU 对…

【目标检测】对DETR的简单理解

【目标检测】对DETR的简单理解 文章目录 【目标检测】对DETR的简单理解1. Abs2. Intro3. Method3.1 模型结构3.2 Loss 4. Exp5. Discussion5.1 二分匹配5.2 注意力机制5.3 方法存在的问题 6. Conclusion参考 1. Abs 两句话概括: 第一个真正意义上的端到端检测器最…

实习日志10

1.用户信息 1.1.在用户管理中编辑用户信息 1.2.绑定公司id 1.3.显示在页面 2.修改识别逻辑 2.1.分析 先识别,再判断,清空键把识别结果清空 2.2.写码 修改了发票识别逻辑,略... 3.接高拍仪 3.1.js引入报错 分析: 遇到的错误…

MySQL数据库基础第一篇(SQL通用语法与分类)

文章目录 一、SQL通用语法二、SQL分类三、DDL语句四、DML语句1.案例代码2.读出结果 五、DQL语句1.DQL-基本查询2.DQL-条件查询3.DQL-聚合函数4.DQL-分组查询5.DQL-排序查询6.DQL-分页查询7.DQL语句-执行顺序1.案例代码2.读出结果 六、DCL语句1.DCL-管理用户2.DCL-权限控制1.案例…

鸿蒙开发-UI-页面路由

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 文章目录 一、基本概念 二、页面跳转 1.router基本概念 2.使用场景 3.页面跳转参数传递 三、页面返回 1.普通页面返回 2.页面返回前增加一个询问框 1.系统默认询问框 2.自定义询问框 总…

【Mysql】数据库架构学习合集

目录 1. Mysql整体架构1-1. 连接层1-2. 服务层1-3. 存储引擎层1-4. 文件系统层 2. 一条sql语句的执行过程2-1. 数据库连接池的作用2-2. 查询sql的执行过程2-1. 写sql的执行过程 1. Mysql整体架构 客户端: 由各种语言编写的程序,负责与Mysql服务端进行网…

【安装记录】Chrono Engine安装记录

本文仅用于个人安装记录。 官方安装教程 https://api.projectchrono.org/8.0.0/tutorial_install_chrono.html Windows下安装 windows下安装就按照教程好了。采用cmake-gui进行配置,建议首次安装只安装核心模块。然后依此configure下irrlicht,sensor…

J-Link:STM32使用J-LINK烧录程序,其他MCU也通用

说明:本文记录使用J-LINK烧录STM32程序的过程。 1. J-LINK驱动、软件下载 1、首先拥有硬件J-Link烧录器。 2、安装J-Link驱动程序SEGGER 下载地址如下 https://www.segger.com 直接下载就可以了。 2.如何使用J-LINK向STM32烧写程序 1、安装好以后打开J-LINK Fl…

从零开始:CentOS系统下搭建DNS服务器的详细教程

前言 如果你希望在CentOS系统上建立自己的DNS服务器,那么这篇文章绝对是你不容错过的宝藏指南。我们提供了详尽的步骤和实用技巧,让你能够轻松完成搭建过程。从安装必要的软件到配置区域文件,我们都将一一为你呈现。无论你的身份是运维人员,还是程序员,抑或是对网络基础设…

【脑电信号处理与特征提取】P7-涂毅恒:运用机器学习技术和脑电进行大脑解码

运用机器学习技术和脑电进行大脑解码 科学研究中的大脑解码 比如2019年在Nature上一篇文章,来自UCSF的Chang院士的课题组,利用大脑活动解码语言,帮助一些患者恢复语言功能。 大脑解码的重要步骤 大脑解码最重要的两步就是信号采集和信号…