SonarQube与PostgreSQL的安装与配置

见字如面,已入初秋。岁月逐渐放缓了脚步,不忍带走零散的夏意。天气渐凉,草木摇落,转眼间,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配置文件中设置的用户名和数据库的名字要和数据库中的保持一致。

九月,你好。愿你能披荆斩棘,活得肆意,亦能遇到了解,收获温柔。也愿你在朝起暮落里,撑一支长篙,满载一船秋色,与过往握手言和。

### 安装配置指南 #### 准备工作 为了使SonarQube能够在Windows环境中顺利运行并连接至PostgreSQL数据库,需先完成Java Development Kit (JDK) 11以及Apache Maven的安装[^3]。 #### PostgreSQL安装 访问官方网站获取适用于Windows系统的PostgreSQL安装包[^2]。按照向导提示逐步完成安装过程,在此期间可以选择默认设置或自定义组件的选择。确保在安装过程中勾选了“Add PostgreSQL to PATH”,以便后续命令行操作更加便捷。 #### 创建专用数据库及用户 启动pgAdmin IV图形化管理界面或是通过psql命令行工具执行如下SQL语句来建立名为`sonar`的新数据库实例及其对应的登录角色: ```sql CREATE DATABASE sonar; CREATE USER sonar WITH PASSWORD '1234'; GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar; ``` 上述指令会构建一个全新的数据存储空间供SonarQube项目独占使用,并赋予特定权限给指定账户以保障安全性独立性。 #### 下载并解压SonarQube压缩文件 前往官方站点下载适合当前平台架构版本号为8.3.1.34397的SonarQube服务器端软件包[^5]。将其放置于任意位置后利用WinRAR等第三方程序展开归档内容到目标路径下(例如C:\sonarqube),形成完整的应用部署结构。 #### 修改配置参数实现对接 编辑位于`~\sonarqube-8.3.1.34397\conf`下的`sonar.properties`文本文件,定位至JDBC部分修改成如下所示形式指向本地已搭建完毕的关系型持久层服务节点: ```properties sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public sonar.jdbc.username=sonar sonar.jdbc.password=1234 ``` 此处设定明确了远程调用接口的具体地址、认证凭据以及其他必要的附加选项,从而建立起两者之间的稳定通信桥梁。 #### 启动SonarQube Web Service 返回至上一层级目录即根部,双击批处理脚本`StartSonar.bat`触发整个流程初始化动作直至Web容器加载成功为止;此时可以通过浏览器输入http://localhost:9000验证是否正常对外开放访问入口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曾同学.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值