一、前言
本文主要讲述Jenkins自动化代码上线时,通过部署SonarQube软件进行代码质量检测,已保证上线的代码服务能正常运行。需要的软件有Mysql5.7、Java、SonarQube7.0等。
二、服务端安装MySQL
1、下载MySQL压缩包
cd /opt
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
2、清理环境安装依赖包
rpm -qa|grep mariadb
yum -y remove mariadb-libs
rm -f /etc/my.cnf
yum -y install libaio-devel
3、解压压缩包
tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz mysql
4、添加MySQL命令到环境变量
echo "export PATN=$PATH:/opt/mysql/bin" >>/etc/profile
source /etc/profile
5、创建MySQL数据目录
mkdir /mysql_data
6、创建MySQL管理用户并修改相关目录属主
useradd -M -s /sbin/nologin mysql
chown -R mysql.mysql /mysql_data
7、初始化数据库
mysqld --initialize-insecure --user=mysql --datadir=/mysql_data --basedir=/opt/mysql
8、编写MySQL配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
port=3306
basedir=/opt/mysql
datadir=/mysql_data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
9、将启动脚本添加到systmd管理并启动服务
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
10、修改root用户密码
mysqladmin password
11、创建sonarqube库
mysql -u root -pxxxx
create database sonarqube default character set utf8;
三、服务端安装Java环境
yum -y install java
四、安装配置SonarQube服务端
1、下载软件
cd /opt
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.0.zip
2、解压压缩包
unzip sonarqube-7.0.zip
ln -s sonarqube-7.0.zip sonarqube
3、创建管理用户并修改软件目录属主
useradd -s /sbin/nologin -M sonarqube
chown -R sonarqube.sonarqube /opt/sonarqube*
4、修改连接数据库文件
vim /opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false #sonarqube是启动脚本指定的数据库运行用户,要与启动脚本里的一致
5、修改启动脚本文件
vim /opt/sonarqube/bin/linux-x86-64/sonar.sh
RUN_AS_USER=sonarqube
6、修改内核参数
vim /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p
7、编写启动脚本文件
vim /usr/lib/systemd/system/sonarqube.service
[Unit]
Description=sonarqube
[Service]
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
Type=forking
User=sonarqube
Group=sonarqube
[Install]
WantedBy=multi-user.target
8 、安装插件
cd /tmp
tar xf sonar_plugins.tar.gz -C /opt/sonarqube/extensions/
chown -R sonarqube. /opt/sonarqube*
9、启动服务
systemctl daemon-reload
systemctl start sonarqube
systemctl enable sonarqube
五、Jenkins主机上安装客户端
1、下载软件
cd /tmp
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.4.0.2170-linux.zip
2、解压压缩包
unzip sonar-scanner-cli-4.4.0.2170-linux.zip -d /opt
ln -s sonar-scanner-cli-4.4.0.2170-linux/ sonar-scanner
3、将命令包添加到环境变量
echo "export PATH=$PATH:/opt/sonar-scanner/bin" >>/etc/profile
source /etc/profile
六、测试代码检测
1、登录网页创建项目
http://xxx.xxx.xxx.xxx:9000 #网页地址为服务端IP地址
(1)、登录用户
(2)、生成复制Jenkins口令
(3)、创建一个项目
2、在Jenkins客户端上使用启动命令抓取代码
(1)、修改客户端配置文件
vim /opt/sonar-scanner/conf/sonar-scanner.properties
sonar.host.url=http://10.0.0.8:9000
sonar.login=5f1d37765d85c06aee41ac9bac640ead235296c9
(2)、进入Jenkins工作目录,执行启动命令
cd /var/lib/jenkins/workspace/deploy_game
sonar-scanner \
-Dsonar.projectKey=html \
-Dsonar.sources=.