【报错】安装SonarQube、SonarScanner在linux服务器上的配置

SonarQube、SonarScanner在linux服务器上的配置

本文介绍如何在linux服务器上配置SonarQube以及Sonar Scanner,因为安装路上踩了很多坑,所以一气之下写下这篇文章记录一下

首先!
jdk8支持的sonarqube版本最高是7.8,而从7.9版本开始都是要求jdk11
JDK8或者JDK1.8是同一个东西

查看你自己服务器的jdk版本,如果是1.8就安装sonarqube7.8及以下,否则后面会报错!

在这里插入图片描述

其次!注意你的sonarqube对应的MySQL版本
我使用的sonarqube7.5需要满足MySQL >=5.6 && <8.0
而我电脑的mysql是8版本的,所以我只能在服务器上配置了~QAQ
这里要查看对应版本可以去配置文件查看

查看配置文件

在这里插入图片描述
在这里插入图片描述

所以
如果你的电脑已经有了jdk1.8以及mysql5.7,那么你就可以直接使用如下两个版本了!
sonarqube7.5的压缩包里面有linux和windows的文件,所以你直接下载就可以了,不用分平台

给你们提供网盘链接:sonarqube7.5&sonar-scanner-cli-4.8.0.2856-linux
提取码:1010

在这里插入图片描述
sonarqube7.5解压后的bin文件:
在这里插入图片描述

安装
找到一个文件夹,以/etc/docker为例(不要放在root目录下就可以)

在这里插入图片描述

使用 root 用户 unzip sonarqube-7.5.zip 进行解压

然后你需要创建一个非root用户:useradd sonar
再授权Chown -R sonar.sonar /etc/docker/sonarqube-7.5
然后切换用户:su sonar
然后进入目录:cd /etc/docker/sonarqube-7.5/bin/linux-x86-64
启动服务:./sonar.sh start
可以检查一下是否启动成功:lsof -i:9000

启动成功:

在这里插入图片描述
然后输入你服务器的地址xxx:9000就可以访问
这样就正常访问 在这里插入图片描述

配置MySql
到这里别急!还要配置MySql,这里容易踩坑

往配置文件sonar.properties加入下面的代码用来配置数据库
注意这里你要提前在数据库建一个sonar库,也就是3306后面跟着的那个名字,就是数据库名字

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root#自己数据库用户名
sonar.jdbc.password=#自己数据库的密码
sonar.sorceEncoding=UTF-8  
sonar.login=admin#设置登录sonar用户名
sonar.password=admin#设置登录sonar的密码

然后回到目录:/etc/docker/sonarqube-7.5/bin/linux-x86-64
执行:./sonar.sh restart(重启sonar让配置生效!)

看到这里原本空的sonar库有了很多表就说明配置生效了

如果出现错误很肯可能是你的数据库用户权限问题,或者是数据库版本问题,要仔细排查在这里插入图片描述

sonar-scanner-cli-4.8.0.2856-linux.zip

接着解压sonar-scanner-cli:unzip sonar-scanner-cli-4.8.0.2856-linux.zip(注意要在root用户下解压才有权限)
解压后往sonar-scanner.properties添加配置:
在这里插入图片描述

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=#你的数据库密码
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

再找到 /etc/profile 添加sonar-scanner的环境变量:
在这里插入图片描述

export SONAR_RUNNER_HOME=/etc/docker/sonar-scanner-4.8.0.2856-linux
export PATH=$SONAR_RUNNER_HOME/bin:$PATH

修改后保存,并在root用户下:source /etc/profile 让环境变量生效
在这里插入图片描述
接着你可以使用sonar-scanner -h检查是否成功配置好SonarScanner
然后切换sonar用户,重启sonar服务,如下就是成功启动了!
在这里插入图片描述

使用SonarScanner

创建如下结构的python文件结构,手动新建sonar-project.properties文件
在这里插入图片描述
在这里插入图片描述

以python为例,使用SonarScanner测试python文件
注意sonar.language=py而不是sonar.language=python!这个坑真的坑!🕳

sonar.projectKey=BadTest
sonar.sources=ForTest#要监测的文件夹名字,properties文件和他在同一级就可以这样直接写
sonar.host.url=http://sonar所在的IP:9000
sonar.language=py
sonar.sourceEncoding=UTF-8

找到要测试的文件夹:在这里插入图片描述

输入:sonar-scanner在这里插入图片描述

这样说明运行成功在这里插入图片描述

回到xxxx:9000页面
有了成功生成的分析项目!
在这里插入图片描述

【启动sonarqube时报错,启动不成功】

WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedException: /etc/docker/sonarqube-7.5/temp/conf/es/log4j2.properties
java.nio.file.AccessDeniedException: /etc/docker/sonarqube-7.5/temp/conf/es/log4j2.properties
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
	at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
	at java.nio.file.Files.delete(Files.java:1126)
	at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:186)
	at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:181)
	at java.nio.file.Files.walkFileTree(Files.java:2670)
	at java.nio.file.Files.walkFileTree(Files.java:2742)
	at org.sonar.process.FileUtils2.deleteDirectoryImpl(FileUtils2.java:143)
	at org.sonar.process.FileUtils2.deleteDirectory(FileUtils2.java:112)
	at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:117)
	at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:101)
	at java.nio.file.Files.walkFileTree(Files.java:2670)
	at org.sonar.application.AppFileSystem.createOrCleanTempDirectory(AppFileSystem.java:96)
	at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:62)
	at org.sonar.application.App.start(App.java:55)
	at org.sonar.application.App.main(App.java:78)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
	at java.lang.Thread.run(Thread.java:748)
<-- Wrapper Stopped

注意 WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedException:
说明没有权限!,这个时候就要chown -R sonar.sonar /etc/docker/sonarqube-7.5,用root用户给sonar授权访问文件

【sonar检查java项目,命令行启动springboot报错】

在命令行输入sonar生成的命令语句:mvn sonar:sonar -Dsonar.host.url=http://xxxxx:9000 -Dsonar.login=sonar启动报错如下:

[INFO] SonarQube version: 7.5.0
[INFO] Default locale: "zh_CN", source code encoding: "UTF-8"
[INFO] Publish mode
[INFO] Load global settings
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.323 s
[INFO] Finished at: 2023-04-08T16:50:50+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli) on project pollu: Not au
thorized. Please check the properties sonar.login and sonar.password. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

【解决】:mvn clean verify sonar:sonar -Dsonar.host.url=http://xxxxx:9000 -Dsonar.login=admin -Dsonar.password=admin使用这个语句启动,报错提示没有密码和账户,所以加上账号密码
启动成功:在这里插入图片描述
在这里插入图片描述

[启动检查python报错]

ERROR: Error during SonarQube Scanner execution
ERROR: Not authorized. Please check the properties sonar.login and sonar.password.

与上面类似,提示登录错误,使用如下登录即可:
sonar-scanner.bat -D"sonar.projectKey=bad" -D"sonar.sources=." -D"sonar.host.url=http://xxxx:9000" -D"sonar.login=admin" -D"sonar.password=admin"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/7771.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

http抓包工具:Charles Mac

charles mac是mac平台上一款非常强大的抓包神器&#xff0c;可以让开发者监视查看所有连接互联网的HTTP通信&#xff0c;包括请求&#xff0c;响应和HTTP头信息等等&#xff0c;charles mac 破解还具有帮助您添加各种类型断点的功能&#xff0c;所有这些断点都旨在简化响应和请…

KD2511N高精度直流低电阻值测试仪

一、产品简介 KD2511N直流低电阻测试仪采用32bits CPU和高密度 SMD贴装工艺&#xff0c; 拥有0.05%的 电阻测量精度及1uΩ 小电阻分辨率&#xff0c;内部比较器可让使用者自行设定上限/下限参考比较值。高达每秒15次的测试速度能显著提高工作效率&#xff0c;免清零的设计在小电…

2023年初跳槽高峰期,测试工程师如何抓住机会拿到高薪offer

在一线大厂&#xff0c;没有测试这个岗位&#xff0c;只有测开这个岗位。这几年&#xff0c;各互联网大厂技术高速更新迭代&#xff0c;软件测试行业也正处于转型期。传统的功能测试技术逐步淘汰&#xff0c;各种新的测试技术层出不穷&#xff0c;测试人员的薪资也水涨船高。与…

多商户商城APP系统开发能够为企业商家带来哪些好处?

多商户商城APP系统开发能够为企业商家带来哪些好处&#xff1f; 1、支持多种业务模式。多商户商城系统能够支持多种业务模式共同运营&#xff0c;如平台自营、招商入驻或者是混合模式&#xff0c;也支持多种移动平台经营。商家通过搭建多商户商城系统能够整合业务&#…

Stata 回归结果详解

目录一、数据信息二、指标1.上半部分2.下半部分三、详细解释SSM - 模型平方和SSR - 残差平方和SST - 总平方和R-squared - R方 - 拟合系数Adj R-squared - 调整后的拟合系数df - 自由度MS - 均方差F - 总体显著性检验Prob > F - P值Root MSECoef.Std. Err.tP > | t |95% …

Linux在游戏界的口碑树立

Linux在游戏界的口碑树立 说到娱乐&#xff0c;大家想到更多的肯定是游戏行业。王者荣耀、绝地求生、英雄联盟等游戏的运行都要依靠电脑来维持。那么什么是用来维持电脑运行的&#xff0c;让电脑运行的更稳定的呢&#xff1f;很多人会回答Windows平台&#xff0c;不得不承认Wi…

python中字符串分割练习

1.找出10000以内能被5或6整除&#xff0c;但不能被两者同时整除的数&#xff08;函数&#xff09; 代码&#xff1a; def num_division():for i in range(1, 10000):if i % 5 0 or i % 6 0:if i % 30 ! 0:print(i)num_division() 验证&#xff1a; 2.写一个方法&#xff0c;…

覆盖3700家机构!人大金仓联合卫宁健康助力广州市妇幼保健系统信创升级

目前&#xff0c;人大金仓联合卫宁健康共同承建的广州市妇幼保健系统信创适配改造项目已顺利上线&#xff0c;标志着人大金仓自主创新的技术、产品和解决方案再次实现行业信创应用场景落地&#xff0c;持续服务医疗行业数字化转型升级。覆盖用户广&#xff0c;业务功能模块多广…

企业IM即时通讯软件需要具备哪些功能?

随着互联网的普及&#xff0c;即时通讯软件也渗透到了人们的日常生活和工作当中&#xff0c;而市面上的即时通讯软件现在有分为两种&#xff0c;一种是个人社交沟通软件&#xff0c;另外一种则是企业即时通讯。企业即时通讯软件是为了让企业内部方便沟通、管理及办公&#xff0…

【Android】测试方法汇总,助力打造完美应用

目录Log 打印日志Junit 单元测试Debug 断点调试Monkey 压力测试Profiler 性能分析器ADB 无线连接设备Appium 自动化测试BlockCanary 界面卡顿检测App Inspection 应用程序检查Database InspectorNetwork InspectorBackground Task InspectorLeakcanary 内存泄漏(ML)、内存溢出(…

【vue2】近期bug收集与整理01

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;记录博主在vue2中遇到过的坑&#xff0c;本文是博主的学习使用总结 目录 1登陆token的问…

浏览器是如何工作的(1)

学习浏览器工作原理的好处&#xff1a;不但是前端面试的常考知识点&#xff0c;它还会辅助你的实际工作&#xff0c;学习浏览器的内部工作原理和个中缘由&#xff0c;对于我们做性能优化、排查错误都有很大的好处。 过程&#xff1a; 浏览器首先使用 HTTP 协议或者 HTTPS 协议…

【java进阶09:集合】泛型、增强for、Collections集合工具类

目录 集合 Collection List 泛型 增强for&#xff08;foreach&#xff09; Set简述 Map java.util.Collections集合工具类 复习review 集合 集合概述 什么是集合&#xff1f;有什么用? 数组实际上就是一个集合。集合实际上就是一个容器&#xff0c;可以来容纳其他类型…

网络编程DAY 1

字节序判断&#xff1a; #include <stdio.h>union test {char ch;// 0x78int num;// 0x12 34 56 78 };int main(int argc, char const *argv[]) {union test t;t.num 0x12345678;if(0x78 t.ch){printf("small endian.\n");}else{printf("big endian.\n…

五、页面切割技术,实现工作台

页面切割技术 1.<frameset>和<frame> <frameset>:用来切割页面 <frameset cols"20%,60%,20%"> 竖着把窗口切三部分 <frameset rows"20%,60%,20%"> 横着把窗口切三部分 <frame>&#xff1a;用来显示页面 <frame …

toArray转换 java.lang.ClassCastException

[toArray转换踩坑 java.lang.ClassCastException] 问题 List<String> auditOptions Lists.newArrayList(); //一系列灌数据操作 auditOption.add... String[] options (String[]) auditOptions.toArray();报错信息java.lang.ClassCastException: class [Ljava.lang.O…

【机器学习】主成分分析(PCA)算法及Matlab实现

【问题引入】 在许多领域的研究与应用中&#xff0c;往往需要对反映事物的多个变量进行大量的观测&#xff0c;收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息&#xff0c;但也在一定程度上增加了数据采集的工作量&#xff0c;更重要的是在…

用“劫富济贫”的思想来进行特征空间的数据增强

来源&#xff1a;投稿 作者&#xff1a;TransforMe 编辑&#xff1a;学姐 论文地址&#xff1a;https://arxiv.org/abs/2008.03673 代码&#xff1a;未公开 发表&#xff1a;ECCV2020 贡献 对于没有充分表达的尾部类则需要额外的知识来补充&#xff0c;所以作者利用头部的类无…

(数字图像处理MATLAB+Python)第四章图像正交变换-第二节:离散余弦变换和K-L变换

文章目录一&#xff1a;离散余弦变换&#xff08;Discrete Cosine Transform&#xff0c;DCT&#xff09;&#xff08;1&#xff09;一维DCTA&#xff1a;定义B&#xff1a;实例&#xff08;2&#xff09;二维DCTA&#xff1a;定义B&#xff1a;实例C&#xff1a;程序&#xff…

CTFHub | 双写后缀

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…
最新文章