基于sonarquebe服务安装并集成到Jenkins

一、环境

  1. 必要环境
    注意:需要Jdk11、PostgreSQL数据库支持,同时必须确保最低环境要求
  2. 官网地址:https://www.sonarqube.org/downloads/
  3. 选择的是长期支持版,以下是支持的版本 在这里插入图片描述

二、安装JDK11

详细见之前博客安装jdk

三、安装PostgreSQL12

  1. 官方地址:
    https://www.postgresql.org/download/linux/redhat/
  2. 官网给出的安装步骤在这里插入图片描述
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12-server
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12
  1. 配置防火墙
# 查询5432端口是否开放
firewall-cmd --query-port=5432/tcp
# 开放5432端口(5432为PostgreSQL端口)
firewall-cmd --zone=public --add-port=5432/tcp --permanent
# 重启
firewall-cmd --reload
# 查看防火墙是否放行5432端口在这里插入代码片
firewall-cmd --zone=public --list-ports
  1. 初始化用户名密码
# 切换用户,执行后提示符会变为'-bash-4.2$'
su - postgres
# 登录数据库,执行后提示符变为 'postgres=#'
psql -U postgres
# 设置密码,设置postgres用户密码为postgres
ALTER USER postgres WITH PASSWORD 'postgres';
ALTER USER postgres WITH PASSWORD '密码';
# 退出数据库
\q
# 备注其他:列出所有库\l  列出所有用户\du 列出库下所有表\d
# 登出
exit

  1. 创建sonarquebe的数据库密码

注:我这里数据库名,用户名密码的都是sonarqube

create user sonarqube with password 'sonarqube';
create database sonarqube owner sonarqube encoding='UTF8';
grant all on database sonarqube to sonarqube;
  1. 修改配置文件
    切换到root用户
vim /var/lib/pgsql/12/data/postgresql.conf

添加一行在这里插入图片描述
修改配置文件pg_hba.conf文件

vim /var/lib/pgsql/12/data/pg_hba.conf
# 修改如下内容,信任指定服务器连接
# 如果想允许所有IPv4地址,则加入一行host all all 0.0.0.0/0 md5。IPv6方法类似。
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5

重启postgresql systemctl restart postgresql-12

最后利用navicat工具进行测试是否连接成功

四、安装SonarQube前准备

  1. 添加sonarqube系统用户
# 创建用户组
groupadd sonarqube
# 创建用户
useradd sonarqube -g sonarqube
# 设置密码
passwd sonarqube		//设置2次同样的密码
  1. 增大文件打开数
# 修改limits.conf文件
vim /etc/security/limits.conf
# 插入内容
sonarqube   soft   nofile   131072
sonarqube   hard   nofile   131072
sonarqube   soft   nproc    8192
sonarqube   hard   nproc    8192

  1. 修改内核参数
# 修改sysctl.conf文件
vim /etc/sysctl.conf
# 插入内容
vm.max_map_count = 524288
fs.file-max = 131072

# 输入命令:sysctl -p,使/etc/sysctl.conf配置文件立即生效。
sysctl  -p

  1. 配置防火墙
# 查询9000端口是否开放
firewall-cmd --query-port=9000/tcp
# 开放9000端口(9000为SonarQube端口)
firewall-cmd --zone=public --add-port=9000/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看防火墙是否放行9000端口
firewall-cmd --zone=public --list-ports

五、安装sonarqube

  1. 将安装包放到/home/sonarqube/下
  2. 解压缩unzip sonarqube-8.9.8.54436.zip -d /opt/
  3. ln -s /opt/sonarqube-8.9.8.54436/ /opt/sonarqube
  4. 创建持久数据文件和临时文件的路径
# 创建文件夹
mkdir -p /var/sonarqube/data
mkdir -p /var/sonarqube/temp
# 授权
chown -R sonarqube: /opt/sonarqube/
chown -R sonarqube:sonarqube /var/sonarqube/data
chown -R sonarqube:sonarqube /var/sonarqube/temp

  1. 修改sonar.properties核心配置文件
 vim /opt/sonarqube/conf/sonar.properties
# 修改内容如下:
# User credentials.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
# PostgreSQL 9.3 or greater
sonar.jdbc.url=jdbc:postgresql://172.16.40.23:5432/sonarqube
# WEB SERVER
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=172.16.40.23
sonar.web.context=/sonarqube
sonar.web.port=9000
# OTHERS
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp
  1. 修改wrapper.conf核心配置文件
    vim /opt/sonarqube/conf/wrapper.conf
    在这里插入图片描述
  2. 切换sonarqube用户启动程序
# 切换sonarqube用户
su - sonarqube
cd /opt/sonarqube/bin/linux-x86-64
# 启动sonarqube程序
./sonar.sh start
# 其他命令
Usage: ./sonar.sh { console | start | stop | force-stop | restart | status | dump }


  1. 进入web浏览器
    http://172.16.40.23:9000/sonarqube/在这里插入图片描述

初始账号密码都是admin
在这里插入图片描述

  1. 编写开机自启动脚本
# 创建开机自启动调用文件
vim /etc/systemd/system/sonarqube.service

# 添加如下内容:
[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonarqube
Group=sonarqube
Restart=always
LimitNOFILE=131072
LimitNPROC=8192

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable sonarqube.service
reboot
  1. 安装中文插件在这里插入图片描述

六、整合到Jenkins

  1. jenkins下载插件在这里插入图片描述

  2. 配置jenkins在这里插入图片描述
    在这里插入图片描述

  3. sonarqube生成socket在这里插入图片描述

  4. 项目添加在这里插入图片描述

在这里插入图片描述

到此完成!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT_Bigboy_sz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值