Jenkins部署及代码静态检查工具Checkstyle集成

2023-11-07

CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具,接下来给大家讲下如何在jenkins(我是在tomcat下安装的jenkins)集成checkstyle,构建项目并发送邮件。

一、linux环境,安装jdk ,并配置环境变量,自行百度

java -version

 

二、安装tomcat

1、将下载的tomcat压缩包解压

 tar -zxvf apache-tomcat-9.0.21.tar.gz

 

2、启动tomcat

进入到tomcat安装目录的/bin目录下,执行./startup.sh 进行启动

 

3、验证tomcat是否启动

打开浏览器访问:localhost:8080,页面显示的tomcat正常信息,表示配置成功

三、安装jenkins

1、将jenkins.war复制到tomcat的webapps

cd /usr/tomcat/apache-tomcat-9.0.21/webapps 然后jenkins.war放在这里

2、配置环境变量

vi /etc/profile

export JENKINS_HOME=/usr/tomcat/apache-tomcat-9.0.21/webapps/

3、保存退出,使设置生效

source /etc/profile

4、启动tomcat

cd /usr/tomcat/apache-tomcat-9.0.21/bin

./startup.sh

5、访问jenkins

浏览器打开http://localhost:8080/jenkins/,即进入jenkins页面

登录密码存在于:/usr/tomcat/apache-tomcat-9.0.21/webapps/secrets/initialAdminPassword

安装完成,页面展示如下:

 

四、在Jenkins中集成CheckStyle

1、下载CheckStyle插件

  Jenkins中CheckStyle插件的作用是图形化的展示CheckStyle输出的结果,可以在Jenkins > 系统管理 > 插件管理 > 可选插件中搜索并安装CheckStyle插件:

 

2、下载并安装 Checkstyle 工具

可从以下地址(https://github.com/checkstyle/checkstyle/releases/)下载CheckStyle一体化Jar包,放在Jenkins所在的服务器上,如/usr/checkstyle 目录

 

3、CheckStyle的代码规范配置文件

将CheckStyle的配置文件放在要检查的项目里,也可以放在Jenkins所在服务器上,通过绝对路径引用文件,我将此文件放在了Jenkins所在服务器的/usr/checkstyle目录下

代码规范的配置文件可以自定义,也可以下载公开的代码风格定义文件,如 Sun 代码规范 sun_checks.xml 和 Google Java 代码规范 google_checks.xml

 

4、配置Jenkins项目调用CheckStyle并生成报告

jenkins新加一个job,要扫描的源码在git上,地址如下:

 

增加一个构建步骤“Execute Shell”

脚本如下:

java -cp /usr/checkstyle/checkstyle-8.21-all.jar com.puppycrawl.tools.checkstyle.Main -c /usr/checkstyle/google_checks.xml -f xml -o checkstyle-result.xml /usr/tomcat/apache-tomcat-9.0.21/webapps/workspace/zhanye_android/

java -cp :指定类运行所依赖其他类的路径,通常是类库、jar 包之类,需要全路径到 jar 包;

Checkstyle 工具的 -c 参数用于指定代码风格的定义文件,-f 参数用于指定用于指定输出检查报告文加的格式,-o 参数用于指定输出报告文件的文件名,同时需要为 Checkstyle 指定项目的 Java 源代码路径。上面的命令中 Checkstyle 将输出文件名为 checkstyle-result.xml 格式为 xml 的检查报告。

 

在“构建后操作步骤中”新增一个“Publish Checkstyle analysis results”,在其中配置checkstyle-result.xml以表示收集前述步骤产生的结果文件。

 

在Checkstyle results框中输入 Checkstyle 检查结果文件的路径,这个结果文件需要我们在构建期间调用 Checkstyle 工具生成。点击左下角的 [保存]按钮保存退出配置。

 

Jenkins 在工程构建结束之后,扫描 Checkstyle 的检查报告,并展示出来,如图:

 

 

5、将报告以邮件形式发送给指定用户

5.1、系统管理->系统设置,Jenkins 自带邮件插件(Mailer Plugin)的功能很弱且无法自定制,需要安装插件Email Extension Template

 

5.2、全局统一设置,系统管理->系统设置如下:

5.2.1设置管理员邮箱:

邮件模板

 

5.2.2设置邮件触发时机

 

5.2.3设置发件人帐号

 

5.3、项目设置中启用邮件,选择项目,点击【配置】,拉到最后面,有一个增加构建后操作步骤,选择Edittable Email Notification。

 

Email Extension Plugin设置如下:

 

 

5.4验证构建报告邮件

手工触发工程,点击“立即构建”,构建成功后发送邮件,邮件内容如下:

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins部署及代码静态检查工具Checkstyle集成 的相关文章

  • PHP+JavaScript+HTML变量之间赋值及传递

    本文是最近做WAMP网站的学习知识 这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容 所以就涉及到一些相关变量赋值传递的内容 包括 HTML超链接传递值通过JavaScript显示 JavaScript变量转换成PHP变量 超链
  • 使用sort排序注意事项

    按照对3求余的余数的从小到大排序 余数相等的按值从小到大排序 bool cmp int a int b if a 3 b 3 return a 3
  • feign拦截器和解码器

    Feign拦截器和解码器 业务需求 在Spring Cloud的项目中 A服务使用Feign调用B服务的某个接口 如果需要传递全局认证token或参数 在方法参数里面加相应字段的方式显然是不可取的 首先想到的是AOP方式 使用切面拦截Fei
  • MySQL体系架构与运行机制

    本文知识点较多 篇幅较长 请耐心学习 题记 文章内容输出来源 拉勾教育Java高薪训练营 本篇文章是 MySQL 学习课程中的一部分笔记 前言 MySQL是最流行的关系型数据库软件之一 由于其体积小 速度快 开源免费 简单易用 维护成本低等
  • InnoSetup 安装程序设置环境变量

    InnoSetup 通过写入注册表值实现安装程序设置系统全局环境变量 环境变量以字符串值存储在注册表中 因此可以使用 Registry 区段操作它们 系统范围的环境变量位于 HKEY LOCAL MACHINE SYSTEM Current
  • 太赞了!16个好用到爆的Python实用技巧!

    介绍 人生苦短 快学Python Python 是一门用途广泛的编程语言 它具有大量的库和框架 有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松 编写代码更高效 本文将探讨一些鲜为人知的 Python 技巧 这
  • 夜神模拟器SD卡文件存储位置

    因为剧情需要 模拟器下载的几百个视频不知道存在了哪里 实在没办法 百度找不到 只好自己找 打开模拟器的安装目录 然后进入BignoxVMS nox文件夹 里面会看到类似这些文件 会用虚拟机的童鞋都知道这是什么文件 如果不知道的可以自己去百度
  • Linux 中shell 脚本if判断多个条件

    Linux 中shell 脚本if判断多个条件 格式如下 在比较时 数字和字符串用不同的比较符号 1 如果a gt b且a
  • Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录

    windows子系统Ubuntu20 04安装过程记录 前言 一 安装前准备 二 开始安装 三 更换镜像源 四 安装图形化界面 五 警告处理 六 迁移子系统 前言 我和我最后的倔强 坚持不换windows的口号被现实打败了 装双系统会影响到
  • Vue 项目中引入 element-ui 报 Cannot find module ‘babel-preset-es2015‘

    解决方法1 因为报的是module缺失 所以直接下载该模块即可 npm install babel preset es2015 save dev 解决方法2 出现这种问题可能是因为之前element ui全部引入了 按需引入能解决该问题 先
  • windows补丁下载地址

    https support microsoft com zh cn help 4041678 windows 7 update kb4041678
  • 每天学python- 罗马数字转整数

    题目描述 罗马数字包含以下七种字符 I V X L C D 和 M 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如 罗马数字 2 写做 II 即为两个并列的 1 12 写做 XII 即为 X II
  • 论文学习——Tune-A-Video

    Tune A Video One Shot Tuning of Image Diffusion Models for Text to Video Generation Abstract 本文提出了一种方法 站在巨人的肩膀上 在大规模图像数据
  • LeetCode:214. 最短回文串

    给定一个字符串 s 你可以通过在字符串前面添加字符将其转换为回文串 找到并返回可以用这种方式转换的最短回文串 示例 1 输入 s aacecaaa 输出 aaacecaaa 示例 2 输入 s abcd 输出 dcbabcd 提示 0 lt
  • 结构体学习笔记

    结构体笔记 声名结构的形式 struct point int x int y p1 p2都是point 里面有x和y struct point p1 p2 struct int x int y p1 p2 p1 p2都是一种无名结构 里面有
  • C++的一些概念 面向对象程序的基本特点

    本节主要介绍一些基本概念 有关于面向对象程序的基本特点 Markdown和扩展Markdown简洁的语法 抽象 对某一类对象的共同属性和行为进行概括 形成类 首先注意问题的本质和描述 其次是实现的过程或细节 数据抽象 描述某类对象的属性或状
  • Network、互联网、Internet和Web的区别和联系

    1 首先Network是最广的 就是汉语里面最广的 网络 如各种电网 神经网络等 2 其次 是互联网 因特网和其他类似的由计算机相互连接而成的大型网络系统都可算是互联网 Internet是互联网中最大的一个 3 再者 是Internet 中
  • powershell新手向,新建、删除文件及对文件添加内容

    一 在当前目录下 新建文件 New item空格1 文件名 doc 文件类型后缀doc txt等 New item 1 doc 删除文件 remove item空格1 文件名 doc 文件类型后缀doc txt等 remove item 1
  • C#——初识Console

    1 console writeline 显示的信息 参数为 想要在用户界面显示的信息 参数的形式可以用到 和占位符 连接符 字符串 变量 在加号两边有一边是字符串 那么 就起到了连接的作用 例如 console writeline 您好 n
  • break停止for....in和for....of循环?

    break可以停止for循环 那么是否可以停止for in和for of循环 for in let names id 1 name sdf id 2 name sdf for var i in names if i id 1 break c

随机推荐

  • Mysql中Unsigned和Zerofill数据型的使用(细节也很重要啊)

    一 今天开同事在使用Mysql的时候 错误使用了Unsigned和Zerofill了 大概是不是蛮懂这两个使用场景吧 很多东西 细节都是很重要的 不能随便用的 decimal是浮点型 使用Unsigned是错误的 二 什么是unsigned
  • 如何使用transformers的trainer.train()函数如何训练自定义Bert的下游模型,并进行评估

    要使用 Transformers 中的 Trainer 训练自定义的 BERT 下游模型 并进行评估 需要进行以下步骤 准备数据集 将原始数据集转换为适合 BERT 模型训练的格式 例如使用 tokenizer 对文本进行编码 将标签转换为
  • 尼姆游戏(聪明版/傻瓜式•人机对战)(代码优化/修复错漏/友好显示)

    对之前发的 练习 尼姆游戏 作了优化 代码精简 修正错漏 添加了玩家选择 微调了输出显示 不能更改前面发的 重发于此 CSDNapp更新到最新版本后 不可以对已发博文作出修改了 修改错漏则只能重发博文 浪费资源啊 练习 尼姆游戏 添加了玩家
  • axios访问后台404_使用 axios 后台无法接收到数据的解决方案

    如果想看排错思路的 可以看完踩坑经历 想直接要结果的 可以直接看解决方案 踩坑经历 最近我在使用 SSM Vue 做自己的小项目 Dao层 和 Service层 之类的代码已经写好了 就差 Controller层 和 Vue 的视图层还没有
  • jdk17安装及环境变量的配置

    jdk17安装及环境变量的配置 跳转oracle官方页面 点击直接下载Windowsjdk17 1 点击下载好的文件 然后下一步 2 在该页面中可以更改jdk的安装目录 默认是C盘 3 安装成功 安装成功之后 对其进行环境变量的配置 4 我
  • RFID系统在物流仓储中的应用

    RFID系统是一种无线识别技术 最近成为物流仓储行业的热门话题 本文将介绍RFID系统在物流仓储中的应用 包括如何使用RFID标签进行物流管理 如何使用RFID技术提高仓库的安全性 并细述RFID技术在物流仓储中的优势 除此之外 本文还会探
  • 华为od机考真题-报数游戏

    while 1 try m int input if 1 gt m or m gt 100 print ERROR else 模拟1 100的圈 nums
  • keil使用指南

    keil使用指南 1 项目的创建 头文件 1 项目的创建 1 首先创建文件夹 2 打开keil软件而后 创建新项目 并定位到1创建的文件夹 3 创建文件 并将文件添加到项目中 4 勾选hex文件生成 5 项目demo编写与编译 编译当前所在
  • 实战wxPython:051- 自定义控件

    前面系列文章中 我们介绍了wxPython提供各种的各种控件 在一般情况下可以满足我们开发应用的各种需求 但是在一些情况下 比如对按钮的美化 一个可以显示CPU占用率的控件等等 这首就需要自定义的控件 才能满足要求 自定义控件可以通过两种方
  • Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等

    Postgresql 学习记录 模式 分区表 触发器 事务 窗口函数 视图 建表 约束等 PostgreSQL使用一种客户端 服务器的模型 一次PostgreSQL会话由下列相关的进程 程序 组成 一个服务器进程 它管理数据库文件 接受来自
  • 将word文档转换为图片格式的PDF

    0x00 前言 编写一篇文档后 往往会通过转为pdf版本后发布来避免在不同环境下格式出现混乱的情况 但这样操作转出pdf文档可以通过普通的pdf阅读器进行文本的抓取 不能达到我们想要保护知识产权的想法 因此在这里推出一篇如何将word文档转
  • 设计模式之(二)---代理模式Proxy Pattern

    什么是代理模式呢 我很忙 忙的没空理你 那你要找我呢就先找我的代理人吧 那代理人总要知道 被代理人能做哪些事情不能做哪些事情吧 那就是两个人具备同一个接口 代理人虽然不能干活 但是被 代理的人能干活呀 比如西门庆找潘金莲 那潘金莲不好意思答
  • 前端优化-WEB综合

    开启 gzip 压缩 gzip 是 GNUzip 的缩写 最早用于 UNIX 系统的文件压缩 HTTP 协议上的 gzip 编码是一种用来改进 web 应用程序性能的技术 web 服务器和客户端 浏览器 必须共同支持 gzip 目前主流的浏
  • object...args参数

    Java object args参数 Java反射中用到方法public Object newInstance String className Object args 该方法中使用了object args参数 也可以写成object ar
  • 认清现实重新理解游戏的本质

    认清现实重新理解游戏的本质 OVERVIEW 认清现实重新理解游戏的本质 现实 两条小路的启发 四个动机 1 当前的学习任务或工作任务太艰巨 2 完美主义 3 对未来太过于自信 无知 4 大脑小看未来的收益 四个方法 1 让未来的收益足够巨
  • R语言 时间序列ARIMA模型方法

    原理什么的百度一搜一堆 看不明白 先学会用这个工具吧 ARIMA 全称为自回归积分滑动平均模型 Autoregressive Integrated Moving Average Model 简记ARIMA 是由博克思 Box 和詹金斯 Je
  • 使用git提交代码到gerrit

    系统 Linux 需要安装 git 第一步 cd mkdir learn git cd learn git 注意 下面的用户名和邮箱和gerrit网站的账号一定要相同 git config global user name 用户名 git
  • python爬取百度使用kw关键字爬取时出现,百度安全验证,解决方法

    python爬取百度使用kw关键字爬取时出现 百度安全验证 解决方法 之前爬取百度用kw时的代码 没有任何问题 import requests url http www baidu com s headers User Agent Mozi
  • 工具类用于ajax使用json请求时返回一个json

    package com noe utils import java util HashMap 工具类 封装响应内容 会被转成json响应 MyStatus ok gt new MyStatus 0 gt code 0 new MyStatu
  • Jenkins部署及代码静态检查工具Checkstyle集成

    CheckStyle是SourceForge下的一个项目 提供了一个帮助JAVA开发人员遵守某些编码规范的工具 接下来给大家讲下如何在jenkins 我是在tomcat下安装的jenkins 集成checkstyle 构建项目并发送邮件 一