环境: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. Oracle 存储过程 批量插入测试数据

    有时候需要做DB的效率测试时,需要模拟大量数据.可以根据一条原始数据,通过执行存储过程拷贝出大量数据: CREATE OR REPLACE PROCEDURE proc_msw_strsql IS i ...

  2. C#LeetCode刷题之#387-字符串中的第一个唯一字符(First Unique Character in a String)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3939 访问. 给定一个字符串,找到它的第一个不重复的字符,并返回 ...

  3. Aspnet Zero中使用Windows service (Topshelf)来承载Quartz.net任务

    Aspnet Zero使用Windows service (Topshelf)来承载Quartz.net任务 网上有很多关于如何使用Topshelf创建ABP的Quartz windows服务,但很少 ...

  4. 初始JAVA第十五章String的总结

    字符串的概述 1.什么是字符串:零个或多个字符组成的有限序列 2.如何使用字符串:(使用字符串分为两步) 1)定义并初始化字符串 2)使用字符,对字符串进行一些处理 // 穿件一个字符串 // 语法 ...

  5. MySQL元数据信息

    一.查看数据库清单 show databases; 二.查看数据库下表清单 方法1) show full tables from ${schema名}; 方法2) use ${数据库名}; show ...

  6. Wireshark中遇到的epoch time

    使用Wireshark分析DNS时遇到的Epoch time 首先看一下Wireshark分析DNS的情况(如下图): 这是协议树的第一项,第一项中的第五行出现了Epoch Time,查阅资料之后才知 ...

  7. 如何理解算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等?

    先从 来说,理论上哈希表就是O(1).因为哈希表是通过哈希函数来映射的,所以拿到一个关键字,用哈希函数转换一下,就可以直接从表中取出对应的值.和现存数据有多少毫无关系,故而每次执行该操作只需要恒定的时 ...

  8. linux驱动之内核空间几种长延时的实现策略的优劣评估

    本文转载自http://blog.chinaunix.net/uid-23769728-id-3084737.html 这里所谓的长延时,是指其实现时间延时的粒度可以在HZ这一水准上.<深入Li ...

  9. Jmeter 常用函数(6)- 详解 __P

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 和 __property 作用一样,不 ...

  10. netbox demo

    参考链接:https://pypi.org/project/python-netbox/ # python 参考链接 https://ttl255.com/pynetbox-netbox-python ...