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