SonarQube与PostgreSQL的安装与配置
见字如面,已入初秋。岁月逐渐放缓了脚步,不忍带走零散的夏意。天气渐凉,草木摇落,转眼间,2021年仅剩下三分之一。再见了,8月,你好啊,9月。SonarQube为静态检查工具,PostgreSQL为关系型数据库。本篇主要给大家分享SonarQube和PostgreSQL的安装与配置。前言环境:MacBook Pro(11.5.1)PostgreSQL(13)SonarQube (8.9.2)JDK
见字如面,已入初秋。岁月逐渐放缓了脚步,不忍带走零散的夏意。天气渐凉,草木摇落,转眼间,2021年仅剩下三分之一。再见了,8月,你好啊,9月。
SonarQube为静态检查工具,PostgreSQL为关系型数据库。本篇主要给大家分享SonarQube和PostgreSQL的安装与配置。
前言
环境:
- MacBook Pro(11.5.1)
- PostgreSQL(13)
- SonarQube (8.9.2)
- JDK11
因为 SonarQube 8.0以上版本不支持 MySQL,所以改用PostgreSQL数据库。
一、PostgreSQL安装
1.1. 安装PostgreSQL
首先进入PostgreSQL官网,或者点击该网址添加链接描述查看与Mac版本匹配的PostgreSQL版本(本文以mac为例),如下图,我的Mac版本是11.5.1,所以我选择的是version13,然后点击 Download the install,找到对应的版本进行下载。
下载完成之后,就直接Next进行安装,直接默认安装路径即可。
需要设置一个密码,如 123456
PostgreSQL默认的端口号为 5432
Launch Stack Builder at exit
可以不勾选
,直接点击Finish即可。
安装完成之后,会看到启动台上有一些应用,其中:
-
psql是PostgreSQL数据库的命令行交互工具
-
pgAdmin是Postgre SQL数据库的图形化管理工具
1.2 psql
当点击SQL Shell(psql)时,会出现下面的界面,直接回车即可,下图红色箭头的地方需要输入密码再回车。
1.3 pgAdmin 4
打开之后,会看到下面的界面
至此,PostgreSQL数据库已经安装完成
1.2.创建sonar用户及sonar数据库
(1)创建用户——sonar
双击Login/Group Roles——>在General中输入Name:sonar——>在Definition中输入密码:123456——>在Privileges中勾选(可参考下图步骤)
(2)创建sonar数据库
双击Databases——>在General中输入Name:sonar
切换用户连接
右击PostgreSQL13 ——Disconnect Server
右击PostgreSQL13 ——Properties…
右击PostgreSQL13——Connect Server,输入密码
二、SonarQube安装
2.1 SonarQube下载
在官网中添加链接描述选择合适的版本进行下载,本文以SonarQube 8.9.2为例。
下载完成之后,将文件mv到/usr/local
目录下,
在配置文件中 配置sonar的路径:
open -e ~/.bash_profile
export SONAR_HOME=/usr/local/sonarqube-8.9.2.46101
如下图所示:
2.2 Sonar相关配置
在路径下/usr/local/sonarqube-8.9.2.46101/conf
找到下面的文件进行配置。
(1)sonar.properties
在sonar.properties
文件中,需要输入如下信息
sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public # sonar表示数据库名字
sonar.host.url=http://localhost:9000/sonarqube
sonar.jdbc.username=sonar #数据库用户名
sonar.jdbc.password=123456 # 密码
sonar.login=admin #登陆sonarqube的名字
sonar.password=admin #登陆sonarqube的密码
如下图所示
(2)wrapper.conf
在wrapper.conf
文件中输入JDK的绝对路径,注意一定要绝对路径
。
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin/java
2.3 启动SonarQube
在路径下:/usr/local/sonarqube-8.9.2.46101/bin/macosx-universal-64
找到sonar.sh
文件,执行./sonar.sh start
从而开启sonarqube server
在浏览器中输入:http://127.0.0.1:9000/projects,页面中将会提示输入用户名和密码,直接输入在配置中设置的用户名和密码:admin和admin,如果完成之后,会出现下面的页面,提示更新密码:
更新完成之后,就会看到下面的界面,表示启动成功。
三、Q&A
3.1 启动 SonarQube失败问题
如果启动 SonarQube之后,虽然命令行中显示SonarQube已经启动,但是当输入网址时,依然是访问不到,遇到这种问题我们需要查看 log,/usr/local/sonarqube-8.9.2.46101/logs
,找到对应的log日志,
(1)第一种错误情况:Unable to start JVM: No such file or directory (2)
表述JDK 路径写的不正确,在wrapper.conf文件中,wrapper.java.command
需要写绝对路径,如
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin/java
(2)第二种错误情况:配置文件中已经写了
JDK的绝对路径,但是log中依然报错:SonarQube requires Java 11 to run
说明安装的 JDK版本不匹配,因为安装的SonarQube版本是8.9.2,需要JDK 版本为11,所以解决方法就是再安装一个JDK11,将JDK11的安装路径写入wrapper.conf文件中。如果你不太了解在Mac中安装多个版本的JDK,可以参考小编的另一篇博客:Mac中安装多个JDK版本
(3)第三种错误情况:SonarQube已经真正启动了,但是输入网址之后依然访问不到网页,当我们检查sonar log时 ,并没有什么问题,此时我们应该查看对应logs文件中的web.log
此时会看到web.log中出现:Fail to connect to database
。
解决方法:在安装完数据后,并没有创建名为sonar的用户和名为sonar的数据库,数据库的用户名和数据库是什么不重要,重要的是,sonarQube配置文件中设置的用户名和数据库的名字要和数据库中的保持一致。
九月,你好。愿你能披荆斩棘,活得肆意,亦能遇到了解,收获温柔。也愿你在朝起暮落里,撑一支长篙,满载一船秋色,与过往握手言和。
更多推荐
所有评论(0)