Jenkins教程之java代码编译、打包、代码扫描

简介: java代扫描的话,可以集成一下sonarqube的扫描,同时可以在扫描代码的同时再统计一下代码行数等信息。

准备工作:

1、要全局工具配置里面配置好 maven的安装路径(现在java代码大部分都是maven工程)


微信图片_20220113154150.png


job关键项配置:

配置源码下载地址:


微信图片_20220113154154.png


如果输入git地址之后出现如下错误,可以到全局工具配置中配置一下git的地址:


微信图片_20220113154157.png


微信图片_20220113154159.png


配置触发器,可以设置每5分钟检测一下源码是否有变化,有变化的话就自动触发构建。


微信图片_20220113154223.png


接下来,在构建步骤中,添加一个maven的选项:


微信图片_20220113154227.png


具体配置如下:


微信图片_20220113154229.png


后续要针对代码做打包,还是编译,扫描之类的,可以只改  目标那一栏对应的命令即可。

将命令改成 -U  clean package checkstyle:checkstyle findbugs:findbugs ,构建后,会在工作空间下生成2个xml格式的报告


微信图片_20220113154232.png


接下来,在插件管理中安装Checkstyle和FindBugs,可以在job中配置展示报告:

点击增加构建后的操作步骤:


微信图片_20220113154235.png


文本框中的内容按照默认推荐的进行填写即可:


微信图片_20220113154238.png


保存配置后,构建一次job,然后查看报告:


微信图片_20220113154240.png


点击具体的报告 ,可以看到对应的代码中哪一行存在问题,具体是什么问题:


微信图片_20220113154243.png


ps:

   java代扫描的话,可以集成一下sonarqube的扫描,同时可以在扫描代码的同时再统计一下代码行数等信息,有兴趣的可以先自己扩展学习一下,遇到问题可以与小编一起探讨!

  java代码打包编译的话 可以自己了解一下   mvn package ,mvn install ,mvn deploy 这几个命令,后续会介绍

   当然,做测试,你要去扫描开发写的代码的话,你得有代码仓库的权限才行。


相关文章
|
9天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
24 1
|
8天前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
|
14天前
|
IDE Java 编译器
lombok编译遇到“找不到符号的问题”
【9月更文挑战第18天】当使用 Lombok 遇到 “找不到符号” 的问题时,可能是由于 Lombok 未正确安装、编译器不支持、IDE 配置不当或项目构建工具配置错误。解决方法包括确认 Lombok 安装、编译器支持,配置 IDE 和检查构建工具配置。通过这些步骤通常可解决问题,若问题仍存在,建议检查项目配置和依赖,或查看日志获取更多信息。
|
2月前
|
存储 安全 Java
深入探讨Java的分层编译
本文主要探讨Java虚拟机(JVM)中的分层编译(Tiered Compilation)机制及其对程序性能的影响。
|
2月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
53 2
|
2月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
152 1
|
1月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
53 0
|
2月前
|
jenkins Java 持续交付
【一键搞定!】Jenkins 自动发布 Java 代码的神奇之旅 —— 从零到英雄的持续集成/部署实战秘籍!
【8月更文挑战第9天】随着软件开发自动化的发展,持续集成(CI)与持续部署(CD)已成为现代流程的核心。Jenkins 作为一款灵活且功能丰富的开源 CI/CD 工具,在业界应用广泛。以一家电商公司的 Java 后端服务为例,通过搭建 Jenkins 自动化发布流程,包括创建 Jenkins 项目、配置 Git 仓库、设置构建触发器以及编写构建脚本等步骤,可以实现代码的快速可靠部署。
61 2
|
2月前
|
jenkins Java Shell
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
|
2月前
|
存储 Java 编译器
下一篇
无影云桌面