1. 安装Jenkins
下载安装包,这里我们下载war包
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
运行jenkins.war的方式有两种:
第一种:将其放到tomcat中运行(放到webapps目录下,启动tomcat)或者直接rpm -ivh 安装;
第二种:直接执行 java -jar jenkins.war --httpPort=8080
https://jenkins.io/doc/pipeline/tour/getting-started/
这里我们选择第一种方式
启动tomcat(bin/startup.sh)以后访问 http://localhost:8080/jenkins/







至此,jenkins安装完成
2. 安装SonarQube Scanner插件
2.1. 安装插件
https://plugins.jenkins.io/sonar



重启jenkins
安装 Sonarqube7.5
1下载:wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip 2 3解压:unzip sonarqube-7.5.zip 4 5配置权限:chmod -R 777 sonarqube-7.5
安装Mysql数据库
!!!数据库版本一定要结合Sonarqube的版本要求安装
1下载:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 2 3解压:tar -xvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 4 5重命名:mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql5.7
配置mysql数据库
1配置文件修改:vim /etc/my.cnf 2 3[mysqld] 4 5datadir=/var/lib/mysql 6socket=/var/lib/mysql/mysql.sock 7 8port=2222basedir=/home/deploy/mysql5.7/datadir=/home/deploy/mysql5.7/data/max_connections=200character-set-server=utf8 9default-storage-engine=INNODB 10user=root 11symbolic-links=0 12 13[mysqld_safe] 14log-error=/var/log/mariadb/mariadb.log 15pid-file=/var/run/mariadb/mariadb.pid 16 17!includedir /etc/my.cnf.d 18 19[client] 20default-character-set=utf8 21socket=/var/lib/mysql/mysql.sock 22 23[mysql] 24default-character-set=utf8 25socket=/var/lib/mysql/mysql.sock 26 27添加环境变量: 28 29echo "PATH=/home/deploy/mysql5.7/bin/:$PATH" >> /etc/profile 30source /etc/profile 31 32创建data:mkdir/home/deploy/mysql5.7/data 33 34初始化数据库:mysqld --initialize --user=mysql --basedir=/home/deploy/mysql5.7/ --datadir=/home/deploy/mysql5.7/data/ 35 36报错解决:yum install -y libaio
停止:/etc/init.d/mysqld.server stop
1启动:/etc/init.d/mysqld.server start 2 3需要跳过授权表,启动数据库,因为mysql默认会设置一个随机密码/etc/init.d/mysqld.server start --skip-grant-tables 4 5进入数据库:mysql -uroot 6 7修改密码:update mysql.user set authentication_string=password('密码') where user='root' and host='localhost'; 8 9刷新提交:flush privileges; 10 11 12 13Navicat连接接数据库并新建sonar数据库 14 15vim /home/deploy/sonarqube-7.5/conf/sonar.properties 16 17sonar.jdbc.url=jdbc:mysql://ip:port/database_name?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 18sonar.jdbc.username=username 19sonar.jdbc.password=password 20sonar.sorceEncoding=UTF-8sonar.login=admin 21sonar.password=admin
Linux sonarquer配置
1vim /home/deploy/sonarqube-7.5/conf/sonar.properties 2 3sonar.jdbc.url=jdbc:mysql://ip:port/database_name?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 4sonar.jdbc.username=username 5sonar.jdbc.password=password 6sonar.sorceEncoding=UTF-8sonar.login=admin 7sonar.password=admin
linux配置sonar-scanner
下载 sonar-scanner:
放到 /home/deploy/sonarqube-7.5/ 目录下
解压:unzip sonar-scanner-cli-4.4.0.2170-linux.zip
1配置环境变量: 2 3vim /etc/profile 添加以下: 4 5# sonar-scanner 6 7export SONAR_RUNNER_HOME=/home/deploy/sonarqube-7.5/sonar-scanner-4.4.0.2170-linux 8 9export PATH=$SONAR_RUNNER_HOME/bin:$PATH
启动sonar
赋权:chmod -R 777 /home/deploy/sonarqube-7.5
1创建sonar用户:useradd sonar 2 3切换用户:su sonar 4 5启动:sh sonar.sh start 6 7停止:sh sonar.sh stop 8 9重启:sh sonar.sh restart 10 11输出以下代表以启动成功 12 13注意的问题是elastic和sonar.sh需要用sonaer账户启动不要用root用户 14 15浏览器输入:ip:9000,即可打开sonarqube

1sonarqube初始账号密码:admin admin 2 3 4 5浏览器输入:ip:9000,即可打开sonarqube

sonarqube初始账号密码:admin admin
jenkins sonarqube全局配置

登陆sonarqube会自动弹出生产token窗口


这个位置2.256版本是不支持凭证类型的需要修改如图所示


sonar.login=sonarqube用户名 sonar.password=sonarqube密码 sonar.projectKey=Key,不要重复,最好是项目名 sonar.projectName=不要重复,最好是项目名 sonar.projectVersion=1.0.0 sonar.sourceEncoding=UTF-8sonar.sources=项目代码路径 sonar.java.binaries=项目打包编译后路径
这里的$pname是项目路径,$name是项目名,设置了全局变量参数,方便一点

在项目根目录新建 sonar-project.properties 配置文件,内容如下:
1sonar.login=admin 2sonar.password=admin 3sonar.projectKey=项目名 4sonar.projectName=项目名 5sonar.projectVersion=1.0.0 6sonar.sourceEncoding=UTF-8sonar.sources=项目src路径 7sonar.java.binaries=项目打包后target路径
执行 sonar-scanner 即可
个人的例子粘贴下供参考
sonar.projectKey=sonar #账户
sonar.projectName=sonar #密码
sonar.projectVersion=1.0
sonar.language=java #语言
sonar.java.binaries=$WORKSPACE/ai-access/target/classes #此处是项目文件一起进行代码检测
sonar.sources=$WORKSPACE/ai-access/src #此处是项目文件一起进行代码检测