当前位置: 首页 > news >正文

SonarQube 9.9.4 LTS社区版安装

目标

安装个SonarQube社区版.

安装SonarQube9.9.4 LTS社区版

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.4.87374.zip

# 切换到安装目录
cd /opt
# 下载安装包
sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.4.87374.zip
# 解压
sudo unzip sonarqube-9.9.4.87374.zip
# 创建用户和用户组
sudo useradd --system --home /home/sonarqube --shell /sbin/nologin --comment "sonarqube user" --user-group sonarqube
# 分配权限
sudo chown -R sonarqube:sonarqube /opt/sonarqube-9.9.4.87374
# 创建配置文件
sudo vim /etc/systemd/system/sonarqube.service

内容:

[Unit]
Description=sonarqube
After=syslog.target network.target[Service]
Type=forking
User=sonarqube
Group=sonarqube
WorkingDirectory=/opt/sonarqube-9.9.4.87374/
ExecStart=/opt/sonarqube-9.9.4.87374/bin/linux-x86-64/sonar.sh start
ExecReload=/opt/sonarqube-9.9.4.87374/bin/linux-x86-64/sonar.sh restart
ExecStop=/opt/sonarqube-9.9.4.87374/bin/linux-x86-64/sonar.sh stop[Install]
WantedBy=multi-user.target

继续:

# 运行SonarQube
sudo systemctl start sonarqube
# 查看状态
systemctl status sonarqube

如果状态没问题打开,9000端口的页面,输入admin/admin账号,修改admin密码后,开始参加凭证。如下图:
开始创建凭证
生成凭证
点击Copy,复制凭证,然后,转到jenkins界面,开始创建一个凭证。
安装jenkins支持sonarqube插件:
支持sonarqube插件
配token
在配置好Jenkins后,再再Jenkinsfile文件中配置,如下阶段:

stage('Static Code Analysis') {environment {SONAR_URL = "http://127.0.0.1:9000"}steps {withCredentials([string(credentialsId: 'sonarqube', variable: 'SONAR_AUTH_TOKEN')]) {sh '''mvn sonar:sonar -Dsonar.login=$SONAR_AUTH_TOKEN -Dsonar.host.url=${SONAR_URL}'''}}}

整体文件如下:

pipeline {agent anytools {jdk 'bellsoft-jdk17.0.10'maven '3.6.3'}stages {stage('Check tool version') {steps {sh '''env | grep -e PATH -e JAVA_HOMEwhich javajava -versionwhich mvnmvn --version'''}}stage('Build') {steps {sh '''mvn clean && mvn package -Dmaven.test.skip=true'''}}stage('Static Code Analysis') {environment {SONAR_URL = "http://127.0.0.1:9000"}steps {withCredentials([string(credentialsId: 'sonarqube', variable: 'SONAR_AUTH_TOKEN')]) {sh '''mvn sonar:sonar -Dsonar.login=$SONAR_AUTH_TOKEN -Dsonar.host.url=${SONAR_URL}'''}}}}
}

最后效果如下:
sq效果

参考:

  • Jenkins integration with SonarQube
  • Jenkins Pipeline for Java based application using Maven, SonarQube, Argo CD and Kubernetes

相关文章:

SonarQube 9.9.4 LTS社区版安装

目标 安装个SonarQube社区版. 安装SonarQube9.9.4 LTS社区版 https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.4.87374.zip # 切换到安装目录 cd /opt # 下载安装包 sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube…...

Laravel 11入门:使用ServBay打造高效开发环境

Laravel 11发布,改进了不少功能。 它引入了更加流畅的应用结构、每秒限速、健康路由等特性。 此外,Laravel还推出了第一方可扩展的WebSocket服务器Laravel Reverb,为你的应用提供强大的实时功能。 在今天的指南中,我将设置一个…...

Flink WordCount实践

目录 前提条件 基本准备 批处理API实现WordCount 流处理API实现WordCount 数据源是文件 数据源是socket文本流 打包 提交到集群运行 命令行提交作业 Web UI提交作业 上传代码到gitee 前提条件 Windows安装好jdk8、Maven3、IDEA Linux安装好Flink集群,可…...

时间序列分析 # 平稳性检验和ARMA模型的识别与定阶 #R语言

掌握单位根检验的原理并能解读结果;掌握利用序列的自相关图和偏自相关图识别模型并进行初步定阶。 原始数据在文末!!! 练习1、根据某1971年9月-1993年6月澳大利亚季度常住人口变动(单位:千人)的…...

算法-日期问题

算法-日期问题 1.判断是否闰年 int is_leap(int y) {if((y%4000)||(y%40&&y%100!0)){return 1;}return 0; }2.每个月的天数 const int months[]{0,31,28,31,30,31,30,31,31,30,31,30,31};3.计算当前年当前月的天数 int get_month_days(int year,int month) {int re…...

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.5 年末操作:维护新财政年度会计凭证编号范围

2.6.5 年末操作:维护新财政年度会计凭证编号范围 财务系统的维护者要在每年年末预先设置好下一年度的会计凭证编号范围(number range),以便下一年度会计凭证能够顺利生成。这一操作一定要在下一年度1月1日以前预先完成。 …...

2024年第十七届“认证杯”数学中国数学建模网络挑战赛A题思路

A题 保暖纤维的保暖能力 冬装最重要的作用是保暖,也就是阻挡温暖的人体与寒冷环境之间的热量传递。人们在不同款式的棉衣中会填充保暖材料,从古已有之的棉花,羽绒到近年来各种各样的人造纤维。不同的保暖纤维具有不同的保暖性能,比如人们以往的经验表明,高品质的羽绒具有…...

Linux 添加启动服务--Service

1,服务配置service文件 Service 服务的实际作用是开启后自动启动服务,运行一些不须要登录的程序,任务。 实例1、上电自动连接WIFI热点 1.1 新建.service文件 /etc/systemd/system/wificonnect.service [Unit] DescriptionService [wifico…...

构建智能连接的未来:物联网平台系统架构解析

随着科技的不断进步和互联网的普及,物联网(Internet of Things, IoT)已成为连接世界的新方式。物联网平台作为实现物联网应用的核心基础设施,其系统架构的设计和实施至关重要。本文将深入探讨物联网平台系统架构的关键要素和最佳实…...

element-ui的年份范围选择器,选择的年份需等于或小于当前年份,选择的年份范围必须在三年之内

写在前面 日期限制处理(禁用),下面我以我这边的需求为例, 选择的年份需等于或小于当前年份 选择的年份范围必须在三年之内 1.限制起始日期小于截止日期 1)根据用户选中的开始日期,置灰不可选的日期范围&…...

2024年蓝桥杯40天打卡总结

2024蓝桥杯40天打卡总结 真题题解其它预估考点重点复习考点时间复杂度前缀和二分的两个模板字符串相关 String和StringBuilderArrayList HashSet HashMap相关蓝桥杯Java常用算法大数类BigInteger的存储与运算日期相关考点及函数质数最小公倍数和最大公约数排序库的使用栈Math类…...

STL函数对象

1,函数对象 1.1 函数对象概念 概念: 重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也称为仿函数 本质: 函数对象(仿函数&…...

DedeCMS 未授权远程命令执行漏洞分析

dedecms介绍 DedeCMS是国内专业的PHP网站内容管理系统-织梦内容管理系统,采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板、网站升级转移均提供很大的便利,健壮的模板标签为站长DIY自己的网站提供了强有力…...

学习 Rust 的第二天:Cargo包管理器的使用

今天,我们来探讨一下 Cargo,这个强大而方便的 Rust 构建系统和包管理器。 Cargo 是一个稳健而高效的 Rust 构建系统和包管理器,旨在帮助管理项目依赖关系,并确保在不同环境下进行一致的构建。 使用 cargo 创建新程序&#xff1a…...

【爬虫+数据清洗+可视化分析】Python文本分析《狂飙》电视剧的哔哩哔哩评论

一、背景介绍 把《狂飙》换成其他影视剧,套用代码即可得分析结论! 2023《狂飙》热播剧引发全民追剧,不仅全员演技在线,且符合主旋律,创下多个收视记录! 基于此热门事件,我用python抓取了B站上千…...

使用vite从头搭建一个vue3项目(二)创建目录文件夹以及添加vue-router

目录 一、创建 vue3 项目 vite-vue3-project-js二、创建项目目录三、创建Home、About组件以及 vue-router 配置路由四、修改完成后页面 一、创建 vue3 项目 vite-vue3-project-js 使用 vite 创建一个极简 vue3 项目请参考此文章:使用Vite创建一个vue3项目 下面是我…...

循环控制语句的实际应用(3)

3194:【例32.3】 数位积 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5116 通过数: 1971 【题目描述】 給出一个非负整数n,请求出n中各个数位上的数字之积。 【输入】 一开始有一个整数 T(1≤T≤100),表示共有几组测试数据。接下来有T个…...

突破像素限制,尽显照片细腻之美——Topaz Gigapixel AI for Mac/Win

在这个数字化的时代,我们都热爱用照片记录生活中的美好瞬间。然而,有时候我们会发现,由于各种原因,照片的像素可能无法满足我们的需求。这时候,Topaz Gigapixel AI for Mac/Win 这款强大的照片放大工具应运而生。 Top…...

CSS特效---HTML+CSS实现3D旋转卡片

1、演示 2、一切尽在代码中 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title&…...

Rust跨平台编译

❝ 如果你感觉自己被困住了&#xff0c;焦虑并充满消极情绪&#xff0c;生命出现了停滞&#xff0c;那么治疗方法很简单&#xff1a;「做点什么」。 ❞ 大家好&#xff0c;我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder 前言 之前我们不是写了一篇R…...

php其他反序列化知识学习

简单总结一下最近学习的&#xff0c;php其他的一些反序列化知识 phar soap session 其他 __wakeup绕过gc绕过异常非公有属性&#xff0c;类名大小写不敏感正则匹配&#xff0c;十六进制绕过关键字检测原生类的利用 phar 基础知识 在 之前学习的反序列化利用中&#xff0…...

浏览器工作原理与实践--HTTP/1:HTTP性能优化

谈及浏览器中的网络&#xff0c;就避不开HTTP。我们知道HTTP是浏览器中最重要且使用最多的协议&#xff0c;是浏览器和服务器之间的通信语言&#xff0c;也是互联网的基石。而随着浏览器的发展&#xff0c;HTTP为了能适应新的形式也在持续进化&#xff0c;我认为学习HTTP的最佳…...

idea 使用springboot helper 创建springboot项目

Spring Boot Helper 是一个在 IntelliJ IDEA 中用于快速创建 Spring Boot 项目的插件。通过这个插件&#xff0c;开发者可以简化 Spring Boot 项目的创建过程&#xff0c;并快速生成所需的依赖和配置文件。以下是使用 Spring Boot Helper 插件创建 Spring Boot 项目的详细步骤&…...

关于 Amazon DynamoDB 的学习和使用

文章主要针对于博主自己的技术栈&#xff0c;从Unity的角度出发&#xff0c;对于 DynamoDB 的使用。 绿色通道&#xff1a; WS SDK for .NET Version 3 API Reference - AmazonDynamoDBClient Amazon DynamoDB Amazon DynamoDB is a fast, highly scalable, highly available,…...

【fastapi】搭建第一个fastapi后端项目

本篇文章介绍一下fastapi后端项目的搭建。其实没有什么好说的&#xff0c;按照官方教程来即可&#xff1a;https://fastapi.tiangolo.com/zh/ 安装依赖 这也是我觉得python项目的槽点之一。所有依赖都安装在本地&#xff0c;一旦在别人电脑上编写项目就又要安装一遍。很扯淡。…...

Qt/QML编程之路:图片进度条的实现(50)

要实现进度条,而进度条是通过一个图片来展示的,比如逐渐增大的音量,或者逐步增大的车速,通过图片显示的效果肯定更好一些。最直接的想法是通过一个透明的rectagle,把不想让看到的遮住,实际上这种方法不可行。 import QtQuick 2.5 import QtQuick.Window 2.2 import QtGra…...

OOCT WPF_D3D项目报错无法加载依赖项

运行示例项目报错缺少dll&#xff0c;发现运用了这个大老李&#xff0c;通过添加PATH路径也无法解决&#xff0c;看到debug文件夹下面没有其他的依赖项。 通过depneds工具可以看到 OCCTProxy_D3D.dll 缺少依赖项&#xff0c;图中的缺项都是OCCT生成的模块dll所以讲这些dll从..…...

模板方法模式:定义算法骨架的设计策略

在软件开发中&#xff0c;模板方法模式是一种行为型设计模式&#xff0c;它在父类中定义一个操作的算法框架&#xff0c;允许子类在不改变算法结构的情况下重定义算法的某些步骤。这种模式是基于继承的基本原则&#xff0c;通过抽象类达到代码复用的目的。本文将详细介绍模板方…...

es6对于变量的解构赋值(数组解构,对象解构,字符串解构,函数解构等)解析(2024-04-12)

1、数组的解构赋值 [ ] 1.1 数组解构的基本用法 ES6 允许按照一定模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构&#xff08;Destructuring&#xff09;。本质上叫模型匹配&#xff0c;等号两边的模型相同就可以对应上。 //以前…...

Flutter学习13 - Widget

1、Flutter中常用 Widget 2、StatelessWidget 和 StateFulWidget Flutter 中的 widget 有很多&#xff0c;但主要分两种&#xff1a; StatelessWidget无状态的 widget如果一个 widget 是最终的或不可变的&#xff0c;那么它就是无状态的StatefulWidget有状态的 widget如果一个…...

淘宝上找人做网站/网络营销和网络推广

♣题目部分在Oracle中&#xff0c;举例说明“集合操作关联转变&#xff08;Set Join Conversion&#xff09;”查询转换。♣答案部分1LHRorclasm > SELECT * FROM SCOTT.EMP A WHERE A.EMPNO>74692 2 MINUS3 3 SELECT * FROM SCOTT.EMP A WHERE A.EMPNO>7839;45…...

动态网站编程基础/b站推广链接

1.JS函数的学习(方法)函数也是对象1.1函数有3种声明方法函数声明的三种形式(1) function 函数名(){函数体}(2) var 函数名function(){函数体}(3)var 函数名new Function("函数体")&#xff1b;1.2输出方式3种的归纳alert(a);//1.弹窗式输出document.write("HELL…...

二级院系网站建设/外贸网站建设流程

一. CMS 并发标记清除&#xff08;CMS&#xff09;收集器&#xff08;也叫并发低延迟收集器&#xff09;回收年老代垃圾。它通过和应用线程并发的执行大部分垃圾收集工作的方式来尝试最小化垃圾回收引起的暂停。正常情况下并发低延迟收集器不会复制或者压缩活跃对象。一次垃圾…...

国外专卖模板的网站/公司网络优化方案

本文实例讲述了PHP使用redis实现统计缓存mysql压力的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;<?php header("Content-Type:text/html;charsetutf-8");include lib/mysql.class.php;$mysql_obj mysql :: getConn();// redis$redis new Redi…...

好看的网站设计/武汉电脑培训学校有哪些

1.固定分配局部置换 系统为每个进程分配一定数量的物理块&#xff0c;在整个运行期间都不改变。若进程在运行中发生缺页&#xff0c;则只能从该进程在内存中的页面中选出一页换出&#xff0c;然后再调入需要的页面。这种策略的缺点是:很难在刚开始就确定应为每个进程分配多少个…...

wordpress+最新版本/北京网站seo招聘

&#xfeff;&#xfeff;题目解决代码及点评 /************************************************************************/ /* 15&#xff0e; 有 N个国家名&#xff0c;要求按字母先后顺序排列&#xff08;用起泡排序法&#xff09;后输出*/ /***************************…...