如何优雅的使用SonarQube
1 安装 SonarQube 服务器
helm upgrade --install sonarqube sonarqube --repo https://charts.kubesphere.io/main -n devops --create-namespace --set image.tag=8.9.1-community
1.1 配置 SonarQubeingress 访问
cat sonarqube-ingress.yaml
1 | kind: Ingress |
kubecat apply -f sonarqube-ingress.yaml -n devops
1.2 配置 dns
vim /var/named/rx.cn.zone
1 | sonar A 10.188.179.200 |
1.3 配置 SonarQube 服务器
1.3.1 配置 SonarQube 插件持久化
1 | volumeMounts: |
1.3.2 配置 SonarQube 的 Webhooks 的返回地址
kubectl edit configmap sonarqube-sonarqube-config -n devops
sonar.core.serverBaseURL=http://sonar.rx.cn
1.4 安装插件
ls /opt/sonarqube/extensions/plugins
- sonar-l10n-zh-plugin-8.9.jar #中文,应用页面直接下载就行
- sonar-findbugs-plugin-4.0.3.jar #漏洞模板
- sonar-pmd-plugin-3.2.1.jar #阿里 p3c 模板
1.5 重启后查看状态查看 SonarQube 的状态
kubectl get pod -n devops
1.6 访问http://sonar.rx.cn/
看到这个说明插件安装成功
2 配置 Jenkins 集成 SonarQube
2.1 创建 SonarQube 管理员令牌 (Token)
2.1.1 点击右上角字母 A,然后从菜单中选择我的账户以转到配置页面
2.1.2 输入令牌名称,例如 test,点击生成并复制此令牌
2.2 Jenkins 安装插件
访问 Jenkins 地址:端口/sonarqubewebhook 出现这样表示插件安装成功
2.3 配置 sonarqube 的 webhook
依次点击配置,配置 和 网络调用 创建一个 Webhook。
点击 创建。
在弹出对话框中输入 名称 和 Jenkins Console URL(即 SonarQube Webhook 地址)。点击创建完成操作。
2.4 将 SonarQube 服务器添加至 Jenkins
2.4.1 Jenkins 添加凭据,凭据 系统 全局凭据
使用刚才 SonarQube 管理员令牌创建的凭证
2.5 Jenkins 添加 SonarQube 地址
3 使用 SonarQube 代码扫描
3.1 新建项目
3.2 创建项目令牌
3.3 Jenkins 流水线配置
1 | sh ''' |
4 钉钉告警
启动
nohup ./sonar-dingtalk-plugin-1.0.0-linux &
5 扫描加固
5.1 配置 p3c 规则
先清空所有条件在搜索 p3c,然后点批量修改
5.2 配置 bug 扫描,SonarQube 默认自带的就很好用,直接复制过来批量激活
5.3 配置漏洞扫描,跟刚才差不多
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云原生基站!
评论