tnblog
首页
视频
资源
登录

SonarQube代码审查(1) - 安装SonarQube

5947人阅读 2021/6/6 17:37 总访问:3467595 评论:0 收藏:0 手机
分类: 云产品

SonarQube代码审查(1) - 安装SonarQube

SonarQube简介

SonarQube 是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。

安装SonarQube

安装mysql并创建SonarQube数据库(仅仅支持SonarQube 7.9的以下的)

安装mysql请参考:https://www.tnblog.net/hb/article/details/4888
然后在mysql中创建sonar数据库

  1. create database sonar;
  2. show databases;

安装postgres

  1. docker pull postgres:11.4
  2. docker run --name postgres1 -e POSTGRES_PASSWORD=pwd123456 -e POSTGRES_USER=root -e POSTGRES_DB=sonardb -p 5432:5432 -d postgres:11.4
  3. docker exec -it postgres1 /bin/bash
  4. psql template1
  5. # 创建数据库
  6. create database sonarqubedb;
  7. # 创建用户
  8. create user sonarqube with encrypted password 'pwd123456';
  9. # 把所有权限都给它
  10. grant all privileges on database sonarqubedb to sonarqube
  11. # 退出
  12. \q
  13. exit

官网下载

通过访问官网到下载地址下载相对应的包:https://www.sonarqube.org/success-download-community-edition/

  1. wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.0.43852.zip
  2. yum install unzip # 安装解压程序
  3. unzip sonarqube-8.9.0.43852.zip # 解压包
  4. mkdir /opt/sonar
  5. mv sonarqube-8.9.0.43852/* /opt/sonar #移动文件
  6. useradd sonar # 创建 sonar 用户
  7. chown -R sonar /opt/sonar # 更改目录以及权限

修改sonar配置文件

  1. # 修改配置文件
  2. vi /opt/sonar/conf/sonar.properties
  1. # 添加数据库密码与账户
  2. sonar.jdbc.username=root
  3. sonar.jdbc.password=pwd123456
  4. # mysql
  5. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
  6. # postgres
  7. sonar.jdbc.username=sonarqube
  8. sonar.jdbc.password=pwd123456
  9. sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonardb

使用sonar账号启动

  1. cd /opt
  2. su sonar /opt/sonar/bin/linux-x86-64/sonar.sh start
  3. tail -f sonar/logs/sonar.20210606.log # 查看日志

接着我们来启动日志追踪,发现报错了

原来是SonarQube 7.9以上版本已不再支持mysql

解决数据库后,它很妖艳又要Java11才能支持

解决问题(安装java11)

  1. yum search java-11
  2. yum install java-11-openjdk -y
  3. # 然后我们通过下面的命令选择java-11 JDK(我们选择2)
  4. alternatives --config java
  5. java -version

然后再次运行,elasticsearch报错

  1. # 解决第一个问题
  2. vi /etc/security/limits.conf
  3. # 添加下面内容
  4. * soft nofile 65536
  5. * hard nofile 65536
  1. # 解决第二个问题
  2. vi /etc/sysctl.conf
  3. # 最后添加一行
  4. vm.max_map_count=262144
  5. # 保存后执行,立马生效然后再次尝试启动SonarQube
  6. /sbin/sysctl -p

貌似成功了,访问一下9000端口看看(默认端口是9000,可以在刚刚的配置文件里面设置其他端口)

  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 查看内网ip
  4. ifconfig

由于坑可能比较多大家尽量通过 /opt/sonar/logs 日志去查,排查顺序sonar.log—>es.log—>web.log,如有问题可以直接在群里或qq上@我。

  1. # 重启SonarQube
  2. rm -rf sonar/data/es7/
  3. # 查看网站端口
  4. netstat -tlunp
  5. # 杀掉elasticsearch的pid
  6. kill {pid}
  7. # 停掉sonarQube
  8. su sonar /opt/sonar/bin/linux-x86-64/sonar.sh stop
  9. /opt/sonar/bin/linux-x86-64/sonar.sh stop
  10. # 在ps中找到sonar并杀掉
  11. ps -ef | grep sonar
  12. kill {pid}
  13. # 启动
  14. su sonar /opt/sonar/bin/linux-x86-64/sonar.sh start

最后通过127.0.0.1:9000访问到该页面,默认账号和密码为admin:admin

更改了密码之后就进来了

然后去生成我们Jenkins所需要的Token密钥


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

微信密码框提示下载并安装安全控件

登录微信商户平台 输入密码时 一直提示 微信密码框提示下载并安装安全控件 点击下载重复下载了很多次 依然没有用解决办...

.NET Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

Python学习 1-安装

Ptyhon非常简单易用的面向对象的脚本语言,跨平台 入门简单python分2个版本 Python2、Python3。Python 2.7 将于 2020 年结...

重新安装IIS

Win+R-->cmd-->输入命令:cd\-->回车(回到C盘根目录)--> 输入:cd C:\Windows\Microsoft.NET\Framework\v4.0.3...

超详细VMware安装及破解

https://blog.csdn.net/newbie_907486852/article/details/79824042

Redis基础安装操作-windows版

一、下载 redis官方没有提供windows版本,需要从微软的git下载releases版二、安装,启动1.解压出来 启动服务 可能会双击会...

Nuget 安装指定版本package

Install-PackageBenchMarkdotnet-version0.9.7 Install-PackageNewtonsoft.Json-version12.0.3

python安装pip以及使用pip安装requests等模块

pip很简单的介绍pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。如果想...

​Windows下安装RabbitMQ

跳过舞,祝大家新年快乐哇!1、下载安装erlang因为rabbitmq是基于erlang实现的所以需要先安装erlang打开网址https://www.er...

MySQL概述与安装配置

1996年首次发行,对于初学者来说,MySQL很容易上手MySQL数据库MySQL 是开源的,所以你不需要支付额外的费用。MySQL 支持大...

vue.js 学习日记第一章-安装vue开发环境

官网:https://cn.vuejs.org/v2/guide/ 这是一篇学习性文章,不定时更新,用来记录我学习vue.js的过程。 首先,是v...

系统重装(一):安装制作Windows原装系统U盘

Windows是美国微软公司研发的跨平台及设备应用的操作系统.xinXP已经停止更新,微软也将在2020年1月14日正式结束对Windows 7...

VMware15 安装黑苹果虚拟机

最近正好要用到ios的打包就百度了一下亲测此方法有效原文链接:https://www.52pojie.cn/thread-804000-1-1.html必要文件下...

win10安装过程记录一下

这里可以不输入秘钥,选择我没有产品秘钥然后选择版本一般选择专业版本安装类型有两个选择只装系统选第一个想全部格式化重...

系统重装(二):安装Windows系统

嗨,大家好!上一篇我们介绍了如何制作windows系统U盘,这一篇就来介绍一下如何安装。上一篇链接请点击:http://www.tnblog...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术