SonarQube 02 插件安装以及配置scanner

网友投稿 1270 2022-11-30

SonarQube 02 插件安装以及配置scanner

SonarQube 02 插件安装以及配置scanner

在线安装或者手动上传插件

在线安装:操作如下图

[root@tools1 ~]# docker restart fe5f51e8655f fe5f51e8655f#-的插件的位置[root@tools1 ~]# cd /data/cicd/[root@tools1 cicd]# lsnexus3 sonarqube[root@tools1 cicd]# cd sonarqube/[root@tools1 sonarqube]# lssonarqube_conf sonarqube_data sonarqube_extensions sonarqube_logs[root@tools1 sonarqube]# cd sonarqube_extensions/[root@tools1 sonarqube_extensions]# lsdownloads plugins[root@tools1 sonarqube_extensions]# cd plugins/[root@tools1 plugins]# lssonar-l10n-zh-plugin-1.29.jar

手动上传插件

为什么需要手动安装? 在线源可能会失败,超时。

Caused by: org.sonar.api.utils.SonarException: Fail to download: (no proxy) at org.sonar.core.util.DefaultHttpDownloader.failToDownload(DefaultHttpDownloader.java:155) at org.sonar.core.util.DefaultHttpDownloader.download(DefaultHttpDownloader.java:150) at org.sonar.server.plugins.PluginDownloader.downloadRelease(PluginDownloader.java:152) at org.sonar.server.plugins.PluginDownloader.download(PluginDownloader.java:126) ... 47 common frames omittedCaused by: java-.SocketTimeoutException: Read timed out

所以在手动安装插件的时候,传到这个目录里面,然后重启一下sonaqube就行了

阅读说明文档:找到sonarqube 版本对应的插件版本。

​​GitHub - xuhuisheng/sonar-l10n-zh: Chinese Pack for SonarQube​​

​​Tags · xuhuisheng/sonar-l10n-zh · GitHub​​

cd /data/cicd/sonarqube/sonarqube_extensions/pluginswget +x sonar-l10n-zh-plugin-1.29.jardocker restart sonarqube

插件源:​​Index of /​​

配置强制登录

默认所有项目都可以公开的查看,在企业内肯定要配置成私有的。只有登录后才能查看。如下图所示((sonarqube8.9.1 默认已经开启了,低于该版本的可以手动开启)

配置Scanner

scanner的类型有很多, 可以通过官网:​​Overview | SonarQube Docs​​ 获取支持的列表。(如果想通过mvn命令去允许代码扫描,那么安装上其对应的scanner插件就可以了,如果要和Jenkins集成的话,Jenkins有单独的插件。

所以有两种方式:

一种和Jenkins做集成,使用Jenkins的sonarqube插件还有一种使用通用的scanner,命令行变更项目代码: 可以使用构建工具进行扫描。例如maven、ant、gradle可以在配置文件中引入对应的配置。不变更项目代码配置: 可以使用Jenkins或其他平台的扩展插件, 以及使用命令行进行扫描。

Gradle -​​SonarScanner for Gradle​​.NET -​​SonarScanner for .NET​​Maven - use the​​SonarScanner for Maven​​Jenkins -​​SonarScanner for Jenkins​​Azure DevOps -​​SonarQube Extension for Azure DevOps​​Ant -​​SonarScanner for Ant​​anything else (CLI) -​​SonarScanner​​

这里有很多scanner,我们这里使用通用的CLI

这个安装和构建节点安装在一起,要求机器上有JDK

[root@jenkins-agent ~]# java -versionopenjdk version "1.8.0_282"OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_282-b08)OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.282-b08, mixed mode)#可以看到有可执行程序,也就是我们扫描要用到的[root@jenkins-agent ~]# cd /usr/local/sonar-scanner-4.6.0.2311-linux/bin/[root@jenkins-agent bin]# lssonar-scanner sonar-scanner-debug#扫描信息的参数全部放在这里面,全局的参数,这种在sonar扫描的时候可以指定这个参数。还有一种方式就是通过-D的方式去传[root@jenkins-agent conf]# lssonar-scanner.properties

wget zxf sonar-scanner-xxxx.tar.gz -C /usr/localvim /etc/profileexport SCANNER_HOME=/usr/local/sonar-scannerxxxexport PATH=$PATH:$SCANNER_HOME/binsource /etc/profile [root@zeyang-nuc-service bin]# source /etc/profile[root@zeyang-nuc-service bin]# sonar-scanner -vINFO: Scanner configuration file: /usr/local/sonar-scanner-4.6.0.2311-linux/conf/sonar-scanner.propertiesINFO: Project root configuration file: NONEINFO: SonarScanner 4.6.0.2311INFO: Java 11.0.3 AdoptOpenJDK (64-bit)INFO: Linux 4.18.0-80.el8.x86_64 amd64

修改scanner的java使用版本,内置使用JDK11,但是本机使用的是JDK8

[root@zeyang-nuc-service sonar-scanner-4.6.0.2311-linux]# vi bin/sonar-scanner[root@zeyang-nuc-service sonar-scanner-4.6.0.2311-linux]#### 编辑约第42行, true改成false42 use_embedded_jre=false43 if [ "$use_embedded_jre" = true ]; then44 export JAVA_HOME="$sonar_scanner_home/jre"45 fi### 更改后,再次验证,发现变成了系统jdk版本。 更改生效。[root@zeyang-nuc-service sonar-scanner-4.6.0.2311-linux]# sonar-scanner -vINFO: Scanner configuration file: /usr/local/sonar-scanner-4.6.0.2311-linux/conf/sonar-scanner.propertiesINFO: Project root configuration file: NONEINFO: SonarScanner 4.6.0.2311INFO: Java 1.8.0_282 AdoptOpenJDK (64-bit)INFO: Linux 4.18.0-80.el8.x86_64 amd64

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Jenkins 进阶01 共享库share Library封装常用模块
下一篇:SonarQube 04 SonarScanner的使用 Web Go项目扫描
相关文章

 发表评论

暂时没有评论,来抢沙发吧~