微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SonarQube+jenkins实现CodeReview环境搭建

一、MysqL安装

1、下载、上传、解压、重命名

下载MysqL上传到linux服务器,我放在了目录/usr/local目录下,下载的版本是:MysqL-5.7.22-linux-glibc2.12-x86_64.tar

上传的压缩文件进行解压,解压命令:tar -zxvf  MysqL-5.7.22-linux-glibc2.12-x86_64.tar

使用mv命令把文件重命名:mv MysqL-5.7.22-linux-glibc2.12-x86_64  MysqL

 

 

2、添加用户用户

添加用户组:

groupadd MysqL

添加MysqL用户用户MysqL

useradd -g MysqL MysqL

 

 3、安装MysqL

MysqL文件所属用户和组设置为MysqL

chown -R MysqL:MysqL

安装命令:

./bin/MysqLd --user=MysqL --basedir=/usr/local/MysqL --datadir=/usr/local/MysqL/data --initialize

#注意记住最后一行的 m6Yifsio7n<*,这个是MysqL初始登录root时的密码

MysqL/目录下除了data/目录的所有文件,改回root用户所有

chown -R root

MysqL用户只需作为MysqL/data/目录下所有文件的所有者

chown -R MysqL data

4、文件配置

MysqL目录下复制启动文件

cp support-files/MysqL.server /etc/init.d/MysqLd

给启动文件赋予权限

chmod 755 /etc/init.d/MysqLd

拷贝my_print_defaults 到/usr/bin目录下

cp /usr/local/MysqL/bin/my_print_defaults  /usr/bin/

修改启动脚本,修改项:

basedir=/usr/local/MysqL/

datadir=/usr/local/MysqL/data

port=3306

vi /etc/init.d/MysqLd

 

5、启动服务并使用

加入环境变量,编辑 /etc/profile,这样可以在任何地方用MySQL命令

使用命令编辑:  vim  /etc/profile

添加MysqL路径

export PATH=$PATH:/usr/local/MysqL/bin

:qw 保存

使用 source  /etc/profile  命令使其生效配置以上信息之后,基本就可以启动了MysqL(如果不能启动,请看最后的配置文件),但是现在还缺少MysqL配置文件,即my.cnf文件(没有它MysqL也可以使用内置的认参数启动)

使用命令登录MysqL

MysqL -uroot -p 

Enter password: “ 这里password是上面的: m6Yifsio7n<*”

登录成功后后设置root密码

MysqL>SET PASSWORD = PASSWORD('root');

6、使用windows 远程访问linux虚拟机的MysqL

首先需要关闭防火墙, 或者在/etc/sysconfig/iptables 下开放3306自己设置的端口号,然后 service iptables restart 重启服务

用户授权

输入命令:grant all privileges on . to root @"%" identified by ‘123456’ WITH GRANT OPTION

授权完成后就可以进行远程连接了

7、MysqL 启动、重启、停止命令

启动:service MysqL start

停止:service MysqL stop

重启:service MysqL restart

二、SonarQube安装

现在sonarqube文件上传:sonarqube-7.6.zip

1、数据库配置

创建sonarqube服务需要的数据库

MysqL> CREATE DATABASE sonar CHaraCTER SET utf8 COLLATE utf8_general_ci;

 MysqL> CREATE USER 'sonar' IDENTIFIED BY 'sonarpassword';

 MysqL> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonarpassword';

 MysqL> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonarpassword';

 MysqL> FLUSH PRIVILEGES;

2、修改配置文件文件在sonarqube目录的conf目录下sonar.properties

 

 

 

 

sonar.jdbc.username=sonar

sonar.jdbc.password=sonarpassword

sonar.jdbc.url=jdbc:MysqL://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.host=0.0.0.0

sonar.web.context=/

sonar.web.port=9000

 进入sonaran安装bin目录下如../sonarqube-7.6/bin/linux-x86-64,运行命令:./sonar.sh restart 重启服务

3、异常处理

(1)java.lang.RuntimeException: can not run elasticsearch as root

错误原因:因为安全问题elasticsearch 不让用root用户直接运行

创建用户

adduser sonar

用户创建密码

passwd sonarUser

修改sonar的目录和用户组为sonar

chown -R sonar:sonar sonarqube-7.6

重新启动sonar

 

使用普通用户启动sonar   ./sonar.sh start

(2)如果sonarqube启动失败,日志显示如下

 

在wrapper.conf文件增加

 3、如上操作还是执行失败

 

操作temp文件的权限修改为chown –R sonar:sonar temp

 

三、Jenkins配置

1、在Jenkins中要新建sonarqube测任务需要下载安装scanner插件,由于scanner插件的版本对jdk的版本有要求,可以根据自己的需求下载合适scanner版本,选择插件上传进行安装

 

 2、安装完成后重新启动Jenkins,安装成功的标志在已安装列表中进行查询

3、 使用Jenkins新建一个构建任务

general 选择构建策略 保持天数和保持构建的最大数进行选择,如果不选择构建次数多了会占用磁盘空间

 

 4、源码管理:输入代码库的地址和账号密码

 

 5、Pre Steps 填写

 

 6、build,填写完成后保存

 

 

7、进行项目构建和查看构建日志,点击build进行项目构建,和查看构建过程中的日志文件

 

 

 

 

 

 

8、构建过程中存在的问题:

(1)、sonar-scanner扫描代码出错 SonarQube svn: E170001

打开sonarqube的控制台,使用admin登录后 ,在配置->SCM->菜单中,将disabled the SCM Sensor设置为true

 

 (2)、ERROR: Caused by: Failed to upload report - An error has occurred. Please contact your administrator

查看数据库max_allowed_packet空间:show VARIABLES like '%max_allowed_packet%';

使用命令直接修改

set global max_allowed_packet = 64*1024*1024*10

修改完成后要重新启动sonar

(3)、

ERROR: No such settings file /usr/local/apche-maven-3.5.4/conf/settings.xml exists

Please verify that your alternate settings file is specified properly and exists in the workspace

 

 (4)没有在指定目录下显示

 

 

 修改执行文件

 

 小结:以上是笔者亲自验证过,可供读者进行参考,安装配置时要注意各软件的安装版本

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐