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

news/2023/12/10 15:54:37

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

1 jenkins安装Extended Choice Parameter插件,支持多选框参数,并新建一个项目,配置如下

2 Jinkensfile文件如下

node {//把选择的项目信息转为数组def selectedProjects = "${project_name}".split(',')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') {for(int i=0;i<selectedProjects.size();i++){//取出每个项目的名称和端口def currentProject = selectedProjects[i];//项目名称def currentProjectName = currentProject.split('@')[0]//项目启动端口def currentProjectPort = currentProject.split('@')[1]//先切换到项目目录下,再审查代码sh """cd ${currentProjectName}${scannerHome}/bin/sonar-scanner"""}}}stage('编译代码') {sh "mvn -f pojo clean install"for(int i=0;i<selectedProjects.size();i++){//取出每个项目的名称和端口def currentProject = selectedProjects[i];//项目名称def currentProjectName = currentProject.split('@')[0]//项目启动端口def currentProjectPort = currentProject.split('@')[1]//用-f编译不同的项目sh "mvn -f ${currentProjectName} clean package -DskipTests"}}}

3 测试,运行效果如下


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

相关文章

Windows 7系统安装MySQL5.5.21图解

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

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

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

基本的DMA控制器

DMA的基本概念     直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中&#xff0c;DMA控制器从CPU完全接管对总线的控制&#xff0c;数据交换不经过CPU&#xff0c;而直接在内存和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 命令&#xff1a;./filebeat -e -c a_1.yml 3 用另一个窗口&…

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

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

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

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

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

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

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

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

c语言double型小数点后几位_C语言探索之旅 | 第一部分第五课:变量的世界(二),变量声明...

内容简介变量是什么&#xff1f;给变量起个名字变量的类型声明变量const 关键字第一部分第六课预告1. 变量是什么&#xff1f;上一课我们学习的是 C语言探索之旅 | 第一部分第四课&#xff1a;变量的世界(一)&#xff0c;内存那档事 。相信我&#xff0c;上一课对于内存的初探绝…

不熟悉的css单位

本文标题&#xff1a;你可能不知道的7个CSS单位 原文链接&#xff1a;http://www.zuojj.com/archives/1079.html&#xff0c;转载请注明转自Benjamin-专注前端开发和用户体验 一、em <style type"text/css"> body {font-size: 12px;} div {font-size: 1.5em;}…