小程序容器助力企业在金融与物联网领域实现高效合规运营,带来的新机遇与挑战如何管理?
1270
2022-11-30
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 .NETMaven - use theSonarScanner for MavenJenkins -SonarScanner for JenkinsAzure DevOps -SonarQube Extension for Azure DevOpsAnt -SonarScanner for Antanything 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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~