Jenkins与Sonar的欢乐

使用ssh 账号@ip 登陆远程服务器

准备工作

创建一个普通用户

adduser sonarqube 添加用户sonarqube

passwd sonarqube 给sonarqube设置密码

用来启动sonar,因为sonar不允许root用户直接运行,否则会报错

安装 mysql:

wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

yum install mysql-server

后面的是版本号 不建议安装MySQL 8.0,如果版本过高可能会有一些,问题,我这里只写了一个示例

下载sonarqube

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.5.zip

使用wget下载或者使用scp 上传本地下载的zip文件到服务器,这里你mkdir命令创建一个目录存放文件 下载是使用sonarqube账号或其他普通账号

开始安装

配置mysql

进入到mysql命令行 mysql -u 账号 -p

输入以下命令

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

创建一个sonar库

GRANT ALL ON sonar.* TO ‘sonar’@’localhost’ IDENTIFIED BY ‘jdjsjajlda’;

创建一个sonar账号,密码jdjsjajlda 只能本地登录,如需远程登录把localhost改成%

配置sonar(使用sonarqube账号)

进入cd /home/sonarqube 目录 会有刚下载的 sonarqube-6.7.5.zip 文件

使用 unzip sonarqube-6.7.5.zip 解压文件到当前目录,进入到sonarqube目录打开的conf目录找到sonar.properties 文件 配置MySQL的账号密码

修改为

如果需要更改端口号找到默认为9000,可以跟你自己的需要更改端口号

启动Jenkins服务

进入到sonarqube目录中的bin目录 执行 ./sonar.sh start 启动服务 restart 重新启动 stop停止服务

相对路径一般为 sonarqube-6.7.5/bin/linux-x86-64 具体根据服务器的架构来选择

浏览器查看服务是否正常运行

打开浏览器输入服务器ip:9000 如果端口有更改过”ip:你修改之后的端口” 例如http://172.20.60.40:9000

默认账号密码都是admin 切记登录之后修改一下密码

Jenkins与Sonar的结合

打开你的Jenkins服务器

进入 系统管理->插件管理->可选插件 查看是否安装过Sonar插件没有安装进行安装SonarQube Scanner for Jenkins (代码分析插件)

安装完毕之后我们在 系统管理->配置 下找到 SonarQube servers选项,装了SonarQube Scanner for Jenkins这个插件才会有这个选项

新建一个Jenkins任务 跑一个项目验证Sonar是否好用

1.新建一个项目

2.配置项目

这里配置的Dsonar.login=这里是一个token,可在sonar服务器新增删除

执行构建等待构建完毕

点击旁边的SonarQube可查看本次构建的代码分析

总结

1.这篇文件写的有点快,主要是基于上一篇Jenkins的搭建写的,默认搭建已经有一定的了解了,所以写的比较快,有些地方一笔带过,如果有什么大家不明白的地方可以留言回复。

2.sonar部署需要注意的一些地方,新手容易直接用root用户直接去启动sonar服务,终端也会显示成功,然后通过浏览器访问不到,其实这里是没有启动成功的,如果遇到浏览器打开访问不到sonar服务,先检查端口是否开放,在去sonar目录下的logs目录查看日志,里面会有具体的错误,查看日志可用cat命令 例如:cat web.log 查看web.log的文件信息

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180912G102MR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券