2024新版SonarQube+JenKins+Github联动代码扫描(2)-SonarQube代码扫描_docker sonarqube(1)


前言

这是2024新版SonarQube+JenKins+Github联动代码扫描专题的第二部分,也是核心内容,SonarQube目前是半开源,可以自定义漏洞扫描规则,这个后面有时间可以出一篇教程,本文主要是讲2024最新版的配置和如何进行代码扫描。


提示:以下是本篇文章正文内容,下面案例可供参考

一、docker方式安装sonar

经过实践,最方便的还是docker安装,简单又快捷,可以节省很多时间。依次输入两条命令:

docker pull postgres:latest

docker pull sonarqube

二、启动容器

docker run --name db -p 5432:5432 -e POSTGRES\_USER=sonar -e POSTGRES\_PASSWORD=sonar -d postgres

三、创建数据库

进入容器命令:

docker exec -it db /bin/bash

进入postgres命令行:

psql -U sonar

创建sonar数据库:

create database sonar;

给sonar授权:

alter role sonar createdb;alter role sonar superuser;alter role sonar createrole;

更改sonar数据库拥有者(这一步是必须的,否则会sonarqube会连接失败):

alter database sonar owner to sonar;

在这里插入图片描述

退出postgres命令行:

\p

退出docker进入linux命令行:

exit

一套操作下来,就完成安装了。这都是踩过很多坑才总结出来0报错,又快又简单的方法,我很惨的🐶。

四、启动sonarqube

docker run --name sq -e sonar.jdbc.password=sonar -e sonar.jdbc.username=sonar -e sonar.jdbc.url=jdbc:postgresql://postgres/sonar --link db:postgres -p 9000:9000 -d sonarqube

五、访问sonar

启动成功后登录ip:9000端口就可以访问了 默认账号密码:admin

六、如果访问报错-通过sonar日志定位问题

docker logs -f -t --tail==100 容器ID

七、修改密码

在这里插入图片描述

八、汉化(看个人选择)

插件市场搜索chinese,然后下载即可。
在这里插入图片描述

然后sonar会弹出重启服务的按钮,点击就行。刷新后就会变成中文版。

九、扫描

新建项目,显示名可以随意填写,能够清晰理解即可:
在这里插入图片描述

点击下一步->使用全局设置->创建projects:
在这里插入图片描述

选择本地后,创建令牌,然后选择Maven或者其他,我选择的是Maven的:
在这里插入图片描述

有一个执行SonarQube扫描的命令,直接进入到项目的根目录,用这条命令运行即可,如果不加sudo可能会报错,所以建议大家加上sudo:
sudo mvn clean verify sonar:sonar
-Dsonar.projectKey=zangccJavaDemo
-Dsonar.projectName=‘zangccJavaDemo’
-Dsonar.host.url=
-Dsonar.token=

记得在运行上面命令之前,切换好当前的jdk版本,根据项目的jdk来决定:

在这里插入图片描述

切换好jdk之后,再运行扫描命令即可:
在这里插入图片描述

命令运行成功会显示BUILD SUCCESS,否则运行失败。Sonarqube的主界面会自动刷新,显示扫描的结果:
在这里插入图片描述

十、我遇到的Sonar报错以及解决办法

问题1:[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin::sonar (default-cli) on project cmdb-nettopo-ftp-c1bb-connector: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin::sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin::sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

解决办法:
mvn命令前添加sudo即可解决,还有就是记得对应好当前命令终端的jdk版本。

问题2:报错“maven 打包 不再支持源选项 5。请使用 7 或更高版本”。
解决办法:这是由于没有指定java的版本造成的。我们可以在pom.xml中添加如下的属性。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值