Ubuntu上搭建Sonar Qube(developer版)服务器

avatar
作者
筋斗云
阅读量:0

搭建SonarQube(Developer)服务器

背景

之前出过一篇关于SonarQube社区版的镜像启动的方法,搭建SonarQube服务来检测代码,但是有些服务从开发版才支持,最低开发板(比如DevOps PR集成),今天我们就来搭建一台开发版的SonarQube服务器。(除了社区版,其他版本是不支持镜像的)

环境介绍

硬件介绍:

官方文档介绍:最小2核运行内存
我们这里用的是2核4G的Ubuntu镜像的虚拟机
系统里面最低的配置:

sudo sysctl -w vm.max_map_count=262144  sudo sysctl -w fs.file-max=65536  ulimit -n 65536  ulimit -u 4096 

如果低于配置会导致系统启动失败。

外部安装:

运行环境:Open JDK-17
数据库:Postgresql - 16.1
检测工具: SonarQube(Developer)

环境准备

openjdk-17& openjre-17

我们首先安装JDK首先更新升级一下我们的包管理器。

sudo apt update sudo apt upgrade 

在这里插入图片描述

sudo apt install openjdk-17-jdk sudo apt install openjdk-17-jre 

在这里插入图片描述
在这里插入图片描述

查看安装Java版本

然后我们可以查看一下

java --version 

在这里插入图片描述

数据库postgresql - 16.1

我们来安装数据库我哦们使用的是16
1.我们添加下载postgresql 的存储库。

sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' 

在这里插入图片描述

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 

在这里插入图片描述
2.更新一下包管理器

sudo apt-get update 

在这里插入图片描述
3.安装数据库

sudo apt-get -y install postgresql 

在这里插入图片描述

sudo apt-get update sudo apt-get upgrade sudo apt-get install wget unzip -y 

在这里插入图片描述

4.设置数据库自启动

sudo systemctl start postgresql sudo systemctl enable postgresql 

在这里插入图片描述

5.更改数据库用户的原始密码

sudo passwd postgres 

在这里插入图片描述
6.进入到数据库的shell命令行创建用户和角色

su - postgres createuser sonar  ALTER USER sonar WITH ENCRYPTED password 'sonar';  CREATE DATABASE sonarqube OWNER sonar;  grant all privileges on DATABASE sonarqube to sonar; 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.退出命令行,回到Linux操作界面

 \q  exit 

在这里插入图片描述
在这里插入图片描述

SonarQube(Developer)

1.安装开发板的SonarQube,这个链接怎么来的呢,我们可以去官网下载压缩包。解压缩后发现里面有Win,Mac,Linux三种系统的包,但是在表面上并没有明确区分。

sudo wget https://binaries.sonarsource.com/CommercialDistribution/sonarqube-developer/sonarqube-developer-10.3.0.82913.zip	 

在这里插入图片描述
2.我们可以使用命令”ls“查看下载的安装包。
在这里插入图片描述
3.解压缩压缩包到opt文件夹,并移动到"opt下的"sonarqube""文件夹内。

sudo unzip sonarqube-developer-10.3.0.82913.zip -d /opt sudo mv /opt/sonarqube-10.3.0.82913 /opt/sonarqube 

在这里插入图片描述
在这里插入图片描述

4.创建sonar用户和组,用创建的用户和组来启动Sonarqube。

sudo groupadd sonar sudo useradd -c "user to run SonarQube" -d /opt/sonarqube -g sonar sonar sudo chown sonar:sonar /opt/sonarqube -R 

在这里插入图片描述
5. 创建完成后,我们修改Sonarqube配置文件,将刚刚的用户密码以及数据库的驱动链接配置进去。

sudo vim /opt/sonarqube/conf/sonar.properties 

写入以下代码

sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube 

其中5432是我们数据库的端口
在这里插入图片描述
6.修改启动文件

sudo vim /opt/sonarqube/bin/linux-x86-64/sonar.sh 

将我们的启动角色写入到文件中

RUN_AS_USER=sonar 

在这里插入图片描述
7.切换到sonar用户,打开启动文件所在的文件夹,启动文件

sudo su sonar cd /opt/sonarqube/bin/linux-x86-64/ ./sonar.sh start 

切换到sonar用户
在这里插入图片描述
找到启动文件所在的文件夹
在这里插入图片描述
启动SonarQube
在这里插入图片描述

调试

1.查看SonarQube的运行状态

./sonar.sh status 

在这里插入图片描述
2.查看运行日志

tail /opt/sonarqube/logs/sonar.log 

在这里插入图片描述
3.配置系统限制
我们看上图,可以看到Process exit:78,一般这种情况是因为SonarQube内置的Elasticsearch因为系统配置低于需求配置所以没有启动起来。
(Elasticsearch 用于促进快速准确的信息检索。它是在专用的 Java 进程中执行的。)
在这里插入图片描述
4.查看配置的大小,并重新设置成最低数值’262144‘

sudo sysctl -a|grep vm.max_map_count 
sudo sysctl -w vm.max_map_count=262144 

在这里插入图片描述
5.然后我们重新启动,看到日志,运行状态,一切OK了。

在这里插入图片描述

开启端口

1.回到Azure portal ,将端口”9000“打开
在这里插入图片描述

界面访问

http://"yourIPAddress":9000 

1.我们访问一下服务,http://“ip”:9000
在这里插入图片描述
2.初始账号密码都是admin

在这里插入图片描述
3.强制重置密码
在这里插入图片描述
4.然后我们一进来就会提示需要License。
在这里插入图片描述

查看系统

1.转到如下图所示,我们可以看到系统是Developer版的。
在这里插入图片描述
2.数据库信息

在这里插入图片描述
3.如果我们有了 License,我们可以在如下图所示地方填补。
在这里插入图片描述
(注:这款软件,目前是代码检测的主流,只有社区版书免费的,开发版及以上都是需要付费的,当然你可以选择试用,但是试用也需要向厂商提工单,请求一个免费体验14天的License Key,不然我们是无法运行,代码检测的,亲测结论

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!