环境: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汉化

下载汉化插件:wget https://github-production-release-asset-2e65be.s3.amazonaws.com/6060405/7e74d980-0eb4-11e9-8a15-18f3ab1d1e41?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200902T080906Z&X-Amz-Expires=300&X-Amz-Signature=1f30d24a73a3630c19fb7f395577b6022c9738460b4e96c2a516e8ea205dc107&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6060405&response-content-disposition=attachment%3B%20filename%3Dsonar-l10n-zh-plugin-1.25.jar&response-content-type=application%2Foctet-stream

放到 /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的更多相关文章

  1. Linux 搭建Nexus

    Linux 安装Maven和nexus代理仓库 1    说明 环境:redhat Enterprise Linux Server5.3-x64. 版本:Maven 3.0.5 ,Nexus-2.5. ...

  2. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  3. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  4. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  5. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  6. Linux 搭建SVN server

    一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...

  7. Linux搭建SVN 服务器(转)

    转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然    日期:2014年 8月 5日 1          安装 ...

  8. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  9. linux搭建phantomjs+webdriver+testng+ant自动化工程

    因为项目的原因,需要将脚本在linux环境无浏览器化去跑,那么原有的在windows系统下有浏览器化的自动化脚本场景就不适用了,这里给出linux系统下搭建phantomjs+webdriver+te ...

随机推荐

  1. pandas | 详解DataFrame中的apply与applymap方法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第5篇文章,我们来聊聊pandas的一些高级运算. 在上一篇文章当中,我们介绍了panads的一些计算方法, ...

  2. 关于Hexo,Next主题的‘下一页’、‘上一页’按钮错误显示为html代码 的解决方法

    关于Next主题的'下一页'.'上一页'按钮错误显示为html代码的解决方法 我在建立自己的博客过程中遇到了页面'下一页'和'上一页'按钮显示为html代码<i class="fa f ...

  3. 题解 洛谷P3469

    题目每个割点去掉后会导致多少对点不能连通 考虑跑Tarjan的时候记录每个儿子的size,那么去掉这个割点后其他的点都不能和这个儿子连通 注意每个点去掉后它本身就不能与其他所有点连通 还有就是题目里求 ...

  4. 浏览器自动化的一些体会11 webclient的异步操作

    原来的代码大致如下: private void foo(string url) { using (WebClient client = new WebClient()) { client.Downlo ...

  5. AVL树旋转

    什么是AVL树? AVL树是带有平衡条件的二叉查找树,一颗AVL树首先是二叉查收树(每个节点如果有左子树或右子树,那么左子树中数据小于该节点数据,右子树数据大于该节点数据),其次,AVL树必须满足平衡 ...

  6. linux驱动之模块化编程

    今天刚开始学习linux驱动的编写.在网上开了许多网友的博客,感觉比较好的摘抄下来,以便以后忘记可以随时查看.下面是摘抄文章的地址,非常感谢他们. http://blog.chinaunix.net/ ...

  7. 【Spring】Spring如何实现多数据源读写分离?这是我看过最详细的一篇!!

    写在前面 很多小伙伴私聊我说:最近他们公司的业务涉及到多个数据源的问题,问我Spring如何实现多数据源的问题.回答这个问题之前,首先需要弄懂什么是多数据源:多数据源就是在同一个项目中,会连接两个甚至 ...

  8. beego 快速入门

    原文链接:https://beego.me/quickstart 1.安装依赖 git clone http://github.com/astaxie/beego.git git clone http ...

  9. 轻松应对并发,Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单

    接上一篇 Newbe.Claptrap 框架入门,第三步 —— 定义 Claptrap,管理商品库存 ,我们继续要了解一下如何使用 Newbe.Claptrap 框架开发业务.通过本篇阅读,您便可以开 ...

  10. 力扣Leetcode 199. 二叉树的右视图

    199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, ...