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 ...
随机推荐
- Vue 使用$set动态给数据设置属性
在实际的开发过程中,给表单元素绑定model的时候,绑定的元素的属性是根据后台数据动态生成的.如果使用常规的赋值方式,是无法更新视图的 需要使用, this.$set(dataName,keyName ...
- .NET或.NET Core Web APi基于tus协议实现断点续传
前言 前两天我采用技巧式方案基本实现大文件分片上传,这里只是重点在于个人思路和亲身实践,若在实际生产环境要求比较高的话肯定不行,仍存在一些问题需要深入处理,本文继续在之前基础上给出基于tus协议的轮子 ...
- 【算法•日更•第三十二期】教你用出windows体验的Linux
▎前言 小编昨天闲的不行,就装了一个linux系统,linux的发行版很多,小编认为ubuntu很好用,于是就在使用ubuntu. 没错,我现在就在使用ubuntu来写博客. 刚才还装了一个QQ,不过 ...
- 根据appid跳到App Store某个APP的详情页
需求 本手机是否装了某个APP 示例百度appid 382201985 scheme BaiduSSO:// 1.是,直接打开百度APP 2.否,跳到App Store百度APP的详情页 NSStr ...
- linux驱动之内核多线程(一)
本文摘自http://www.cnblogs.com/zhuyp1015/archive/2012/06/11/2545624.html Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进 ...
- LINUX进程ps -ef和ps -aux的区别及格式详解
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...
- centos7.8 安装部署 k8s 集群
centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...
- Centos7 KVM启用嵌套虚拟化
[root@kvm-hypervisor ~]# cat /etc/modprobe.d/kvm-nested.conf options kvm-intel nested= options kvm-i ...
- Spring Security自定义认证页面(动态网页解决方案+静态网页解决方案)--练气中期圆满
写在前面 上一回我们简单分析了spring security拦截器链的加载流程,我们还有一些简单的问题没有解决.如何自定义登录页面?如何通过数据库获取用户权限信息? 今天主要解决如何配置自定义认证页面 ...
- Solon详解(五)- Solon扩展机制之Solon Plugin
Solon 中也有一种非常解耦的扩展机制:Solon Plugin.这种扩展机制和Spring Factories很像,和SPI也很像. 一.Solon 中的扩展机制 在Solon的扩展插件加载机制, ...