centos7搭建sonarqube环境+jenkins部署全流程+sonarqube集成AD域多组配置

一、必要环境

注意:需要Jdk11、PostgreSQL数据库支持,同时必须确保最低环境要求

官网下载地址:https://www.sonarqube.org/downloads/
SonarQube汉化包:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.9
基础要求:https://docs.sonarqube.org/8.9/requirements/requirements/

二、安装JDK 11

上传下载好的OpenJDK文件

tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz
# 修改JAVA_HOME为/usr/java/jdk-11
# 编辑/etc/profile文件
vi /etc/profile

# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/java/jdk-11
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

# 使环境变量生效
source /etc/profile

三、安装PostgreSQL 12

PostgreSQL 12:https://blog.youkuaiyun.com/weixin_49724150/article/details/121648666

四、配置基础环境

添加sonarqube系统用户

#创建用户组

groupadd sonarqube

#创建用户

useradd sonarqube -g sonarqube

#设置密码

passwd sonarqube		//设置2次同样的密码

修改limits.conf文件
您可以使用以下命令查看这些值:

sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u

如果不满足要求,则设置limits.conf文件和sysctl.conf文件。

#修改limits.conf文件

vim /etc/security/limits.conf

#插入内容

sonarqube   soft   nofile   131072
sonarqube   hard   nofile   131072
sonarqube   soft   nproc    8192
sonarqube   hard   nproc    8192

修改sysctl.conf文件

#修改sysctl.conf文件

vim /etc/sysctl.conf

#插入内容

vm.max_map_count = 524288
fs.file-max = 131072

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

sysctl  -p

创建sonarqube数据库

#切换用户,执行后提示符会变为’-bash-4.2$’

su - postgres

#登录数据库,执行后提示符变为 ‘postgres=#’

psql

#创建用户和密码

create user sonar with password 'sonar';

#创建数据库指定所属者

create database sonarqube owner sonar encoding='UTF8';

#将数据库得权限,全部赋给某个用户

grant all on database sonarqube to sonar;

#退出数据库

\q

#备注其他:列出所有库\l 列出所有用户\du 列出库下所有表\d
#登出

exit

五、安装SonarQube

上传安装包和汉化包

#进入sonarqube目录

cd /home/sonarqube/

解压安装包
如果unzip报错,请先执行安装【yum -y install unzip】命令。

unzip sonarqube-8.9.2.46101.zip

移动汉化包,即可完成汉化

mv sonar-l10n-zh-plugin-8.9.jar /home/sonarqube/sonarqube-8.9.2.46101/extensions/plugins
1

创建持久数据文件和临时文件的路径

#创建文件夹

mkdir -p /var/sonarqube/data
mkdir -p /var/sonarqube/temp

#授权

chown -R sonarqube:sonarqube /var/sonarqube/data
chown -R sonarqube:sonarqube /var/sonarqube/temp

修改sonar.properties核心配置文件

#修改sonar.properties

vim /home/sonarqube/sonarqube-8.9.2.46101/conf/sonar.properties

#修改内容如下:

#User credentials.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#PostgreSQL 9.3 or greater
sonar.jdbc.url=jdbc:postgresql://192.168.1.110:5432/sonarqube
#WEB SERVER
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=192.168.1.110
sonar.web.context=/sonarqube
sonar.web.port=9000
#OTHERS
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp

修改wrapper.conf核心配置文件
可以通过【which java】命令,查找java安装路径

#修改sonar.properties

vim /home/sonarqube/sonarqube-8.9.2.46101/conf/wrapper.conf

#修改内容如下:

wrapper.java.command=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin/java

切换sonarqube用户启动程序

#授权
chown -R sonarqube:sonarqube /home/sonarqube/
#切换sonarqube用户
su - sonarqube
cd /home/sonarqube/sonarqube-8.9.2.46101/bin/linux-x86-64
#修改sonar.sh的RUN_AS_USER=sonarqube,否则后面设置开机自启会报错!
RUN_AS_USER=sonarqube
#启动sonarqube程序
./sonar.sh start
#其他命令
Usage: ./sonar.sh { console | start | stop | force-stop | restart | status | dump }

查看日志是否启动成功

cd /home/sonarqube/sonarqube-8.9.2.46101/logs
#查看sonar日志
tail -1000f sonar.20210930.log
#查看web日志
tail -1000f web.log
#查看es日志
tail -1000f es.log

访问

地址:http://192.168.1.110:9000/sonarqube
账号:admin
密码:admin

六、开机启动

编写开机自启动脚本

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

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

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

[Install]
WantedBy=multi-user.target

设置开机启动

#加入开机启动
systemctl enable sonarqube.service
#重启测试
reboot

七、常用命令

systemctl start sonarqube.service    //启动

systemctl stop sonarqube.service    //关闭

systemctl restart sonarqube.service   //重启

systemctl status sonarqube.service   //查看状态

八、jenkins集成sonarqube

1.安装插件SonarQube Scanner

在这里插入图片描述

2.sonar生成令牌,jenkins的凭据需要用到

在这里插入图片描述

在这里插入图片描述

3.jenkins系统配置中添加SonarQube servers的配置信息
在这里插入图片描述

4.全局配置工具中安装SonarQube Scanner

在这里插入图片描述

5.jenkins新建自由构建项目

在这里插入图片描述

6.去jenkins部署项目,部署完毕查看sonarqube检测情况

在这里插入图片描述

在这里插入图片描述

九、sonarqube集成ldap

sonar.properties 配置如下:

# LDAP Configuration
sonar.security.realm=LDAP
ldap.url=ldap://10.32.176.180:389
ldap.bindDn=xxxx
ldap.bindPassword=xxxx

# User Configuration
ldap.user.baseDn=OU=技术创新部,OU=xxxx,OU=组织机构测试,DC=xxxx,DC=co
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
ldap.user.realNameAttribute=displayName
ldap.user.emailAttribute=mail

# Group Configuration
ldap.group.baseDn=OU=技术创新部,OU=xxxx,OU=组织机构测试,DC=xxxx,DC=co
ldap.group.request=(&(objectClass=group)(member={dn})(|(distinguishedName=CN=sonar-test,OU=测试组,OU=技术创新部,OU=xxxx,OU=组织机构测试,DC=xxxx,DC=co)(distinguishedName=CN=sonar-devops,OU=运维组,OU=技术
创新部,OU=xxxx,OU=组织机构测试,DC=xxxx,DC=co)))
ldap.group.idAttribute=sAMAccountName

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值