【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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络流的认识

网络流的认识 什么是流网络 网络(network)是指一个特殊的有向图 G ( V , E ) G (V,E) G(V,E),其与一般有向图的不同之处在于有容量和源汇点,不考虑反向边。 其中,我们有以下变量来方便表示: S S S&…

2024美赛C题保姆级分析完整思路代码数据教学

2024美国大学生数学建模竞赛C题保姆级分析完整思路代码数据教学 C题 Momentum in Tennis 网球中的动量 在2023年温布尔登男单决赛中,20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来在温布尔登的首次失利,也…

SwiftUI 动画入门之二:几何特效动画(GeometryEffect)

概览 在上一篇博文 SwiftUI 动画入门之一:路径动画(Path Animations)中,我们讨论了如何打造折线图(LinesGrap)形状上的路径动画。 而在本篇博文中,我们在前篇实现基础之上通过 GeometryEffect 特效为任意路径动画加上了活泼可爱的“小尾巴”。这是怎么做到的呢? 在本…

格式化内存卡后,如何找回丢失的监控视频?

随着摄像头的应用越来越广泛,很多监控摄像头采用了内存卡作为存储介质,方便用户存储和查看摄像头拍摄的视频文件。然而,由于各种原因,监控摄像头的内存卡有时会被意外格式化导致重要数据的丢失,给用户带来诸多困扰。 那…

有色金属矿山采选智能工厂数字孪生可视化,推进矿采选业数字化转型

有色金属矿山采选智能工厂数字孪生可视化,推进矿采选业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。有色金属矿采选业作为传统工业的重要组成部分,也面临着数字化转型的挑战。为了更好地推进有色金属矿采选业…

C语言字符、字符串

一、c语言字符串的本质 1、char类型数组 c语言没有专门用来存储字符串的变量类型,字符串都是存储在char类型的数组中,char类型的连续空间中每个存储单元存储一个字符,数组末尾以’\0’结束,标志字符串的结束。\0’是空字符&…

开源编辑器:ONLYOFFICE文档又更新了!

办公软件 ONLYOFFICE文档最新版本 8.0 现已发布:PDF 表单、RTL、单变量求解、图表向导、插件界面设计等更新。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器,支持编辑处理文本文档、电子表格、演示文稿、可填写的表单、PDF&#…

大语言模型之LlaMA系列- LlaMA 2及LLaMA2_chat(上)

LlaMA 2是一个经过预训练与微调的基于自回归的transformer的LLMs,参数从7B至70B。同期推出的Llama 2-Chat是Llama 2专门为对话领域微调的模型。 在许多开放的基准测试中Llama 2-Chat优于其他开源的聊天模型,此外Llama 2-Chat还做了可用性与安全性评估。 …

IP定位如何进行业务风控反欺诈

IP地址作为接入互联网的唯一标识,分析其归属地及网络类型等多维度信息,帮助识别虚假流量和欺诈账号,保障账号和交易安全,帮助企业持续优化风控与反欺诈模型,降低经济损失。 交易聚集分析 通过IP地址数据服务得到的交易…

Pytorch从零开始实战18

Pytorch从零开始实战——人脸图像生成 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——人脸图像生成环境准备模型定义开始训练可视化总结 环境准备 本文基于Jupyter notebook,使用Python3.8,Pytorch2.0.1cu118&#…

Linux下gcc的使用与程序的翻译

gcc和程序的翻译过程 gcc介绍程序的翻译过程预编译编译汇编链接 命令行式宏定义 gcc介绍 gcc是一款编译C语言编译器,可以把我们用vim写的代码编译成可执行程序。编译C用g进行编译,C的文件后缀是test.cc或test.cpp或test.cxx 如果要安装g就执行以下命令 …

一文详解docker swarm

文章目录 1、简介1.1、涉及到哪些概念?1.2、需要注意什么? 2、集群管理2.1、创建集群2.2、将节点加入集群2.3、查看集群状态。2.4、将节点从集群中移除2.5、更新集群2.6、锁定/解锁集群 3、节点管理4、服务部署4.1、准备4.2、服务管理4.2.1、常用命令4.2…

TCP 连接掉线自动重连

文章目录 TCP 连接掉线自动重连定义使用连接效果 TCP 接收数据时防止掉线。TCP 连接掉线自动重连。多线程环境下TCP掉线自动重连。 欢迎讨论更好的方法! TCP 连接掉线自动重连 定义 定义一个类,以编写TCP连接函数Connect(),并且&#xff1a…

分发糖果[困难]

优质博文:IT-BLOG-CN 一、题目 n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果: 【1】每个孩子至少分配到1个糖果。 【2】相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩…

JavaScript基础五对象 内置对象 Math.random()

内置对象-生成任意范围随机数 Math.random() 随机数函数, 返回一个0 - 1之间,并且包括0不包括1的随机小数 [0, 1) 如何生成0-10的随机数呢? Math.floor(Math.random() * (10 1)) 放大11倍再向下取整 如何生成5-10的随机数&…

【智能算法】11种混沌映射算法+2种智能算法示范【鲸鱼WOA、灰狼GWO算法】

1 主要内容 混沌映射算法是我们在智能算法改进中常用到的方法,本程序充分考虑改进算法应用的便捷性,集成了11种混合映射算法,包括Singer、tent、Logistic、Cubic、chebyshev、Piecewise、sinusoidal、Sine、ICMIC、Circle、Bernoulli&#xf…

css实现按钮边框旋转

先上效果图 本质&#xff1a;一个矩形在两个矩形互相重叠遮盖形成的缝隙中旋转形成&#xff0c;注意css属性z-index层级关系 直接上代码 <div class"bg"><div class"button">按钮</div></div><style>.bg {width: 100%;heigh…

数字图像处理(实践篇)四十一 OpenCV-Python 使用sift算法检测图像上的特征点实践

目录 一 涉及的函数 二 实践 2004年,D.Lowe在论文Distinctive Image Features from Scale-Invariant Keypoints中提出了一种新算法,即尺度不变特征变换 (SIFT),该算法提取关键点并计算其描述符。SIFT提取图像的局部特征,在尺度空间寻找极值点,并提取出其位置尺度和方向…

绝地求生:“龙腾”通行证和新空投任务内容一览:二十级依然有图纸!

大家好&#xff0c;27.2版本终于更新完了&#xff0c;先为大家带来这次龙腾通行证的详细内容&#xff0c;显放上详细的兑换点数大家可以慢慢看。 省流: 通行证分支3仍然可解锁图纸和500G-COIN奖励&#xff0c;空投任务也可以通过做很简单的游戏任务70代币兑换获得1张图纸。 这次…

main函数中参数argc和argv用法解析

1 基础 argc 是 argument count 的缩写&#xff0c;表示传入main函数的参数个数&#xff1b; argv 是 argument vector 的缩写&#xff0c;表示传入main函数的参数序列或指针&#xff0c;并且第一个参数argv[0]一定是程序的名称&#xff0c;并且包含了程序所在的完整路径&…