jenkins持续集成入门20 - maven复合工程 , 多个子项目的工程 jenkins用下拉框筛选一个项目工程 , 代码审查 , 编译工程

news/2023/12/10 15:00:23

SonarQube代码审查的配置环境查看以下文档
jenkins持续集成入门19 - (Pipeline Script from SCM)流水线项目 整合SonarQube代码审查_小哇-CSDN博客

项目工程的结构如下

 1 在jenkins中新建一个项目,并创建参数,如下,此参数在Jenkinsfile文件中会有引用

 2 在需要审查的每个项目的根目录下,创建sonar-project.properties文件,内容如下

sonar.projectKey=xinwen_producer
sonar.projectName=xinwen_producer
sonar.projectVersion=1.0sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=.sonar.java.source=1.8
sonar.java.target=1.8sonar.sourceEncoding=UTF-8
sonar.projectKey=xinwen_consumer
sonar.projectName=xinwen_consumer
sonar.projectVersion=1.0sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=.sonar.java.source=1.8
sonar.java.target=1.8sonar.sourceEncoding=UTF-8

3 在项目根目录下,新建文件  Jenkinsfile,此文件就一个

node {stage('gitlab拉取代码') {checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab-ssh-user', url: 'git@118.31.52.50:root/multi_project.git']]])}stage('审查代码') {script {scannerHome = tool 'SonarQube-Scanner'}echo scannerHomewithSonarQubeEnv('SonarQube7.4') {//先切换到项目目录下,再审查代码sh """cd ${project_name}${scannerHome}/bin/sonar-scanner"""}}stage('编译代码') {//用-f编译不同的项目sh "mvn -f pojo clean install"sh "mvn -f ${project_name} clean package -DskipTests"}}

4 代码上传到 git,在jenkins中开始测试,效果如下

 


https://dhexx.cn/news/show-17119.html

相关文章

spring中的BeanFactory与ApplicationContext的作用和区别?

BeanFactory类关系继承图 1. BeanFactory类结构体系: BeanFactory接口及其子类定义了Spring IoC容器体系结构,由于BeanFactory体系非常的庞大和复杂,因此要理解Spring IoC,需要先理清BeanFactory的继承机构。 2. ApplicationConte…

jenkins持续集成入门21 - maven复合工程 , 多个子项目的工程 jenkins 可以勾选多个复选框,同时进行代码审查,代码编译

此案例的环境和配置信息,可查看如下文档,此案例在以下工程中升级,有此步骤省略jenkins持续集成入门20 - maven复合工程 , 多个子项目的工程 jenkins用下拉框筛选一个项目工程 , 代码审查 , 编译工程_小哇-CSDN博客 1 jenkins安装Extended Choice Parameter插件,支持多选框参数…

Windows 7系统安装MySQL5.5.21图解

Win7系统安装MySQL5.5.21图解 大家都知道MySQL是一款中、小型关系型数据库管理系统,非常具有有用性,对于我们学习非常多技术都有帮助,前几天我分别装了SQL Server 2008和Oracle 10g数据库,也用了JDBC去连接他们,都没有…

Filebeat入门及使用-1 控制台输入,控制台输出

软件版本: CentOS 7.4 ES 7.6.1版,Filebeat7.6.1版ES7.6.1 安装,可参考博文【ElasticSearch】 ElasticSearch安装(一) - H__D - 博客园案例1, 控制台输入,控制台输出1 新建配置文件test.yml # 输入 filebe…

基本的DMA控制器

DMA的基本概念     直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行 。DMA方式一般用于高速传送成组数据。DMA控制器将向内…

Filebeat入门及使用-2 从文件读入,控制台输出

1 新建配置文件 a_1.yml # 输入 filebeat.inputs: - type: logenabled: truepaths:- /data/logs/test.log- /data/logs/2.log # 输出 output.console:pretty: trueenable: true 2 指定配置文件运行filebeat 命令:./filebeat -e -c a_1.yml 3 用另一个窗口&…

aip格式转化为pdf_图片转pdf快速转换方法?为你轻松解决格式问题

图片怎么转pdf?很多时候在网上下载了很多有用的学习资料,但是很多时候都是图片格式,图片格式根本不好编辑而且也不够清晰!那么能把图片转换PDF文件,更加清晰而且能够被编辑和合并,也更利于整理,…

Filebeat入门及使用-3 文件输入,ES中输出

ES7.6.1 安装,可参考博文【ElasticSearch】 ElasticSearch安装(一) - H__D - 博客园 1 新建配置文件 a_3.yml # 输入 filebeat.inputs: - type: logenabled: truepaths:- /data/logs/*.log# 指定索引的分区数 setup.template.settings:inde…

raid5通常需要几块盘_从原理到实现,RAID5原理详解及代码实现浅析

前文我们介绍了Linux下面的RAID技术基本原理,并通过RAID1介绍了其大致的实现流程。今天我们介绍一下RAID5,因为RAID5还是比较复杂的,因此觉得有必要介绍一下。RAID5的算法关于RAID5的算法,我们在网上看到最多的一张图恐怕就是下面…

Filebeat入门及使用-4 自定义标签和字段,文件输入,ES输出,并用kibana展示

作用:在日志中设置一些个性化的标记,方便后期做处理 tags 和 fields 添加其中一个,或都添加,都可以,自己确定1 新建配置文件 a_4.yml # 输入 filebeat.inputs: - type: logenabled: truepaths:- /data/logs/*.log# Be…