Linux搭建SonarQube
环境:linux+jdk8+mysql5.7.31+sonarqube7.5+sonar-scanner-4.4+jenkins2.249+sonar-l10n-zh-plugin-1.25.jar
安装: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安装配置(初始安装需执行,目前环境已有可跳过该步骤)
安装
下载: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
配置
配置文件修改:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=2222
basedir=/home/deploy/mysql5.7/
datadir=/home/deploy/mysql5.7/data/
max_connections=200
character-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/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数据库
Linux sonarqube配置
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-8
sonar.login=admin
sonar.password=admin
Linux配置sonar-scanner
安装
下载sonar-scanner:wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.4.0.2170-linux.zip
放到 /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
sonarqueb汉化
放到 /home/deploy/sonarqube-7.5/extensions/plugins/ 目录下
新建sonar用户
useradd sonar
启动sonar
切换到sonar用户执行
启动:sh sonar.sh start
停止:sh sonar.sh stop
重启:sh sonar.sh restart
输出以下代表以启动成功

浏览器输入:ip:9000,即可打开sonarqube

初始账号密码:admin admin
Jenkins项目结合SonarQube配置
添加sonar-scanner插件

配置sonar-scanner

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

配置sonar-sacnner token

配置sonarqube server

项目配置

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

命令行添加jenkins项目sonar配置
如果Jenkins项目太多需要添加sonarqube配置,可以直接在Jenkins工作目录下的Jobs/config.xml里直接添加配置。我的任务配置文件最后都是执行shell,执行shell在config.xml是 /hudson.tasks.Shell> ,所以就在之后 /hudson.tasks.Shell> 添加配置,如下:
sed -i 's/<\/hudson.tasks.Shell>/&\n<hudson.plugins.sonar.SonarRunnerBuilder plugin="sonar@2.12">\n<project><\/project>\n<properties>sonar.login=admin\nsonar.password=admin\nsonar.projectKey=项目名\nsonar.projectName=项目名\nsonar.projectVersion=1.0.0\nsonar.sourceEncoding=UTF-8\nsonar.sources=\/home\/deploy\/jenkins\/workspace\/项目名\/src\nsonar.java.binaries=\/home\/deploy\/jenkins\/workspace\/项目名\/target\/classes<\/properties>\n<javaOpts><\/javaOpts>\n<additionalArguments><\/additionalArguments>\n<jdk>(Inherit From Job)<\/jdk>\n<task><\/task>\n<\/hudson.plugins.sonar.SonarRunnerBuilder>/' /home/deploy/jenkins/jobs/项目名/config.xml
这样每次改下项目名执行命令就可以添加了,不用在Jenkins页面添加了
Linux搭建SonarQube的更多相关文章
- Linux 搭建Nexus
Linux 安装Maven和nexus代理仓库 1 说明 环境:redhat Enterprise Linux Server5.3-x64. 版本:Maven 3.0.5 ,Nexus-2.5. ...
- Linux 搭建SVN 服务器(转)
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- 原 Linux搭建SVN 服务器2
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- 原 Linux搭建SVN 服务器
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- Linux搭建SVN 服务器
Linux搭建SVN 服务器 1 安装SVN 2 使用客户端连接 2.1 使用windows的客户端 2.2 使用Linux下的命令行 3 ...
- Linux 搭建SVN server
一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...
- Linux搭建SVN 服务器(转)
转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然 日期:2014年 8月 5日 1 安装 ...
- Linux 搭建SVN 服务器
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- linux搭建phantomjs+webdriver+testng+ant自动化工程
因为项目的原因,需要将脚本在linux环境无浏览器化去跑,那么原有的在windows系统下有浏览器化的自动化脚本场景就不适用了,这里给出linux系统下搭建phantomjs+webdriver+te ...
随机推荐
- Java—接口
接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实 ...
- 《Head First 设计模式》:命令模式
正文 一.定义 命令模式将"请求"封装成对象(命令对象),以便使用不同的"请求"来参数化其他对象. 要点: 命令模式可将"动作的请求者"从& ...
- Vue 自定义VueRouter-简版
主要是思路,自己定义组件的时候可以借鉴 Vue-router的 类图 name options: ==> 记录构造函数中传入的对象,在 new VueRouter的时候传了一个对象( route ...
- 苹果TF上架的iOS应用怎么下载
苹果TF上架的iOS应用怎么下载 苹果TF上架的iOS应用是无法通过App Store搜索到的,需要用户先从App Store中搜索下载testflight内测商店.当开发者进行苹果TF上架成功以后会 ...
- HTML基础-05
字体 文本颜色:color:red;字体分类: 衬线字体serif --字体宽度各异,有衬线 --Times.Georgia.宋体 无衬线字体sans-serif --字体宽度各异,无衬线 --Hel ...
- linux root用户下没有.ssh目录
.ssh 是记录密码信息的文件夹,如果没有登录过root的话,就没有 .ssh 文件夹,因此登录 localhost ,并输入密码就会生成了 ssh localhost
- Springboot + Rabbitmq + WebSocet + vue
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- C++ Templates (Part I 基本概念 The Basics)
C++ 模板 (C++ Templates) 目录 C++ 模板 (C++ Templates) 第一部分 基本概念 (The Basics) 第一部分章节目录 参考资料 第一部分 基本概念 (The ...
- webpack 热替换
一. 使用express.js搭建一个简易服务器demo地址,热替换的 先看包 // 清除重复的文件 "clean-webpack-plugin" // css加载器 " ...
- fsck知识点记录
最近处理一个生产环境问题时,碰下一个以下现象,记录一下,便于以后出现类似问题时,快速的查找相应命令 问题现象 由于物理机的内存条出现故障,导致该节点上的所有虚机网络都不通,机房人员修复完物理内存以后, ...