Sonarqube DataCenter版本手动搭建完整流程
本文最后更新于:2024年10月11日 晚上
1、Sonarqube介绍
Sonar (SonarQube)是一个开源平台,用于管理源代码的质量,Datacenter版本为最高版本。其支持C、C++、Java、kotlin、Scala、python、JavaScrip等几乎所有编程语言的代码质量管理与检测。支持将代码扫描集成到现有的工作流,以便在项目分支和拉取请求之间进行连续的代码检查。
sonarqube分为四个版本:社区版、开发版、企业版、数据中心版,各版本之间差异如下
官网:https://www.sonarsource.com/products/sonarqube/
Sonar分为两部分:
- 第一部分为服务端,为Sonarqube为代码指令管理平台
- 第二部分为客户端,为sonar-scanner扫描器
由于是安装Data Center版本,不支持docker安装,后续操作基于本地安装包搭建完整的sonarqube服务平台过程做记录。
2、环境配置要求
搭建环境配置参考:
类型 | 配置 |
---|---|
OS系统 | Ubuntu 24.1 LTS |
RAM | 8G(要求>=4G) |
CPU | 2 cores(要求>=2 cores) |
硬盘 | 20G(要求>=30G) |
JAVA | version 17(要求至少为JAVA 11,不支持Java8) |
PostgreSQL | version 16(要求>=11) |
其中硬盘自行决定,这里20GB仅作为短时间验证使用,存储空间按照官方要求来。Java配置过程参考:https://blog.csdn.net/weixin_62636014/article/details/137872596
3、搭建sonarqube流程
3.1、获取Sonarqube Datacenter安装包
下载安装包:https://pan.baidu.com/s/1TnwrJvdts7rrSr3vPkHiaA 提取码:9y4b
上传至Linux服务器路径,这里我上传到/usr/local/etc/sonarqube
。
将压缩包进行解压:
1 |
|
解压后如下:
后续所有的操作均基于此路径。
3.2、创建非管理员用户
注意: 由于elastic search不支持root用户启动,需要创建单独的非root用户来启动sonar。
1)创建用户sonar
1 |
|
修改账户密码:
1 |
|
2)将sonar用户添加sudo管理特权
执行visudo
打开配置文件,添加sonar用户配置:
1 |
|
添加到下面User privilege specification
位置:
添加完成后,键入Ctrl+O写入内容,出现弹窗时点击enter完成写入:
写入完成后键入Ctrl+X离开文本编辑页。
检查修改是否完成:
1 |
|
正常返回如下:
3)切换到sonar用户
1 |
|
3.3、启动sonarqube
使用sonar用户启动sonarqube:
1 |
|
注意: 当不小心以root用户启动sonarqube时,可删除路径./temp路径下的所有文件、SonarQube.pid、es.log、sonar.log文件再重新执行启动指令即可。原因为这些文件的权限归属到root非sonar用户。
运行日志查看路径:
1 |
|
启动过程可查看sonar运行日志tail -f /usr/local/etc/sonarqube/sonarqube-10.4.0.87286/logs/sonar.log
,出现下面两串关键字系统可正常操作:
1 |
|
进入sonarqube主页:http://localhost:9000/sessions/new?return_to=%2F
默认账户和密码:admin/admin,登录后更新密码即可进入到主页。
4、配置PostgreSQL数据库
Tips:这里默认已经安装完成PostgreSQL数据库的安装,具体详情可参考《Ubuntu手动安装及配置PostgreSQL》。
进入sonar配置文件修改数据库配置:
1 |
|
根据数据库类型,修改对应配置项:
这里我选择的是PostgreSQL,在本地已有PostgreSQL数据库后修改如下:
重启sonarqube服务:
1 |
|
注意:在配置PostgreSQL之前,需要确保能正常进行远程连接,否则elastic search会启动失败报错(143错误)。
5、破解流程
下载破解agent jar包,或在3.1节中将百度云的jar包保存下来:
上传SonarQubeAgent-1.2-SNAPSHOT.jar
到sonarqube安装目录,这里是/usr/local/etc/sonarqube
。
修改配置文件:
1 |
|
加入下面内容:
1 |
|
重启sonarqube服务:
1 |
|
登录后进入到许可证页面,添加授权:http://localhost:9000/admin/extension/license/app
将授权码信息通过BASE64算法加密,之后将加密后的内容后填入license框中:https://tool.oschina.net/encrypt?type=3
- 授权码信息,根据需要选择其中任意一个:
1 |
|
之后就可以正常的使用了:
6、中文插件安装
插件官方库:https://github.com/xuhuisheng/sonar-l10n-zh
根据sonarqube下载对应的版本,我这里安装的为sonarqube10.4版本,插件也下载对应的版本:
进入release界面:
将下好的插件,放入到插件路径:
1 |
|
之后,重启sonarqube即可生效:
1 |
|
之后重新进入页面即可显示中文样式:
至此,大功告成~
参考:
https://www.cnblogs.com/anliven/p/11986480.html
https://www.813972.xyz/p/%E5%9C%A8rocky-linux-9%E4%B8%8A%E5%AE%89%E8%A3%85sonarqude/
https://dashenxian.github.io/post/SonarQube%E7%A0%B4%E8%A7%A3