`
huangjinjin520
  • 浏览: 68794 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SonarQube代码质量扫描持续集成

阅读更多
1、安装JDK和配置JAVA_HOME和CLASSPATH
2、安装mysql数据库
3、创建数据库和用户
mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
4、下载sonarqube
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.4.zip
unzip sonarqube-5.4.zip
vi /etc/profile
SONAR_HOME=/usr/jenkins/sonarqube-5.4
export SONAR_HOME
    source /etc/profile
5、配置sonarqube
在sonarqube解压包下编辑conf/sonar.properties文件,该文件中所有注释掉的数据库连接模板都是支持的,只需要去掉注释更改为自己的数据库连接即可,同时将默认的自带数据库连接注释去掉。
一般需要配置以下属性(这里使用MySQL数据库,数据库的引擎必须是innodb):
vi /usr/jenkins/sonarqube-5.4/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5
sonar.jdbc.minIdle=2
sonar.jdbc.maxWait=5000
sonar.jdbc.minEvictableIdleTimeMillis=600000
sonar.jdbc.timeBetweenEvictionRunsMillis=30000
sonar.web.host=0.0.0.0
#修改snoar端口,默认为9000
sonar.web.port=9090
6、启动sonarqube服务
    /usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh console 启动服务
    /usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh start 启动服务
/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh stop 停止服务
/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh restart重启服务
启动成功后在浏览器地址栏输入http://localhost:9090即可访问snoarQube。
缺省用户名和密码是admin/admin
7、汉化sonarqube
https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/
安装目录:$SONAR_HOME/extensions/plugins
wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.9/sonar-l10n-zh-plugin-1.9.jar
8、在jenkins平台上安装插件SonarQube Scanner for Jenkins
9、在jenkins配置SonarQube



如果设置为5.3 or higher选择,就必须使用sonarQube account token进行连接,这个更安全。
Server authentication token项需要在sonar server端生成 ;访问sonar server端
菜单==》配置==》权限==》用户==》TOKENS==》Generate 生成token,将生成token添加到此处,完成添加。



10、下载安装和配置sonar scanner
https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/
wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip
vi /home/jenkins/.bash_profile
SONAR_RUNNER_HOME=/usr/local/jenkins/sonar-scanner-2.8/
export PATH=$SONAR_RUNNER_HOME/bin:$PATH
source /home/jenkins/.bash_profile
测试是否安装sonner scanner成功
输入命令:sonar-runner -version出现以下信息,则表示环境变量设置成功




vi conf/sonar-scanner.properties
#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://localhost:9090
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#----- Global database settings (not used for SonarQube 5.2+)
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
11、在jenkins中配置sonar scanner
系统管理–》Global Tool Configuration



12、项目中添加sonar scanner分析
13、要让jenkins编译完成,自动将代码传给sonarqube进行分析,则要配置jenkins中的目标项目。
选择自己的project==》配置==》add pre-build step



14、遇到的问题
在项目源码根目录执行命令时,可能会有svn错误,因为当sonar扫描的时候,会因为无法访问.svn而扫描失败,在sonar平台中用admin登录后,点击‘配置’-‘SCM’,如下图:




关注公众号获取海量视频




  • 大小: 39.9 KB
  • 大小: 49.8 KB
  • 大小: 36.8 KB
  • 大小: 33.8 KB
  • 大小: 43.3 KB
  • 大小: 51.8 KB
  • 大小: 35.7 KB
0
0
分享到:
评论

相关推荐

    sonarqube jenkins svn maven代码质量检查.pdf

    本文档目的在于演示sonarqube+jenkins+svn+maven是如何集成工作的,最后通过一个java项目和一个python项目展 示代码质量检测过程

    sonarqube-8.5.0.37579.zip

    SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,...

    sonarqube-8.4.1.35646.zip

    sonarqube 8.4 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以...

    Git、Jenkins、Ansible实践CICD视频课程

    分享课程——Git、Jenkins、Ansible实践CICD,附文档+软件+...掌握Sonarqube质量检测,以及Jenkins集成Sonarqube进行代码质量扫描 掌握Jenkins集成DingDing,实现Sonarqube质量检测结果状态通知 掌握Jenkins全自动化

    Git+SonarQube+Jenkins环境配置流程

    SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。 除了git还有...

    sonar9.8-scanner4.7-jdk11.zip

    代码质量指标和历史 CI/CD 集成 可扩展,具有 50 多个社区插件 社区版本不支持一个项目多分支的形式,只能按照特性分支的名称来生成相对应的扫描项目(会产生很多Sonarqube项目)。 如何计算费用? Sonarqube是按照...

    SonarQube Redmine 插件以各种方式将 SonarQube 连接到 Redmine问题和项目管理工具

    。代码质量检查服务Sonarqube 的插件。支撑与redmine的集成。新建分支的目标是支持sonar4.5和redmine3.0。该插件以各种方式将 SonarQube 连接到 Redmine问题和项目管理工具

    sonar-rust:SonarQube插件来分析Rust文件

    是管理代码质量的开放平台。该插件为SonarQube添加了Rust支持,重点是集成现有Rust工具。 该插件是免费软件;您可以根据自由软件基金会(Free Software Foundation)发布的GNU通用公共许可协议(GNU Lesser General...

    描述/特点 该插件以各种方式将SonarQube连接到Redmine问题和项目管理工具

    代码质量检查服务Sonarqube 的插件。支撑与redmine的集成。新建分支的目标是支持sonar4.5和redmine3.0。

    sonar-scanner-5.0.1.3006-windows

    它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner基于SonarQube平台,可利用其强大的规则引擎分析多种编程语言,包括Java、C#...

    sonar-scanner-5.0.1.3006-linux

    它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner基于SonarQube平台,可利用其强大的规则引擎分析多种编程语言,包括Java、C#...

    sonar-scanner-5.0.1.3006-macosx

    它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner基于SonarQube平台,可利用其强大的规则引擎分析多种编程语言,包括Java、C#...

    leetcode卡-blogs:喜欢树形目录,不喜欢线性目录的博客

    静态代码扫描 sonarQube 全英文文档; sonarQube 搭建与试用; sonarQube 深度使用与CI集成; 1.3. 信息安全基础知识 https相关的 TCP/IP计算机网络安全 加密算法 图解密码技术 1.4. DB Mysql语法系统学习; Mysql...

Global site tag (gtag.js) - Google Analytics