Sonar

持续集成之代码质量管理———Sonar

夙愿已清 提交于 2020-03-25 15:42:16
Sonar是一个用于代码质量管理的开放平台,通过插件机制,Sonar可以集成不同的测试工具、代码分析工具以及持续集成工具。与持续集成工具(如Hudson/Jenkins等)不同,Sonar并不是简单地把不同代码检查结果(例如:FindBugs、PMD等)直接显示在web UI界面上,而是通过不同的插件对这些结果再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。 在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有较好的支持。 Sonar 的功能就是来检查代码是否有 BUG。除了检查代码是否有 bug 还有其他的功能,比如说:你的代码注释率是多少,代码有一些建议,编写语法的建议。所以称之为质量管理。 一、部署Sonar 接下来的配置是基于博文 部署Jenkins+Gitlab实现持续集成 的环境进行部署 所有的源码包及插件都可以在此 链接 (提取码: t976)下载 [root@jenkins ~]# unzip sonarqube-5.6.zip

持续平台搭建

纵然是瞬间 提交于 2020-03-24 13:10:58
3 月,跳不动了?>>> 第1章 引言 1.1 持续集成介绍 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。 持续集成正是针对这一类问题的一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。 持续集成最早由Martin Fowler 于10年前已经提出,希望通过持续集成能够实现以下过程: Ø 任何人在任何地点,任何时间可以构建整个项目。 Ø 在持续集成构建过程中,每一个单元测试都必须被执行。 Ø 在持续集成构建过程中,每一个单元测试都必须通过。 Ø 持续集成构建的结果是可以发布的软件包。 Ø 当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题。 1.2 持续集成核心价值 持续集成中的任何一个环节都是 自动完成 的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量; 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之

sonarqube配置全指南,集成阿里巴巴p3c规范

家住魔仙堡 提交于 2020-03-23 19:21:59
3 月,跳不动了?>>> 环境准备 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库 自定义数据库: Oracle SQL Server(只支持SQL Server 2014 以及 SQL Server2016) PostgreSQL MYSQL 版本限制: 8.0>MYSQL>=5.6 (注官方说明,从Sonar7.9版本,不再支持Mysql),以下链接 End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. Please migrate to a supported database. Get more details at https://community.sonarsource.com/t/end-of-life-of-mysql-support https://jira.sonarsource.com/browse/SONAR-11963 安装步骤 1.安装sonarqube: 安装的是windows 7.4 community社区版 https:/

MAC SonarQube静态代码检查

只谈情不闲聊 提交于 2020-03-19 17:29:35
3 月,跳不动了?>>> SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。(该文章部分参考其他人写的,加入自身遇到的问题总结) 准备工作; 1、jdk(请自行百度,很easy的) 2、sonarqube: http://www.sonarqube.org/downloads/ 3、SonarQube+Scanner: https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip 4、mysql数据库(请参考: http://www.jianshu.com/p/0dace9c19333) ###一、安装篇 1.下载好sonarqube后,解压目录,通过命令行到sonarqube目录并启动 命令: sudo {sonarqube上一级目录}/sonarqube/bin/macosx-universal-64/sonar.sh start 输入Mac本机密码启动sonarqube 2.浏览器访问 http://localhost:9000,如出现下图则表示安装成功。 ###二、配置篇 1.打开mysql,新建一个数据库 在命令行中,执行如下操作: mysql -u root -p mysql>

sonar 代码质量检查问题分析(二)

半城伤御伤魂 提交于 2020-03-15 09:13:10
Mutable fields should not be "public static" 可变字段不应该是public static 不合规 public interface MyInterface { public static String [] strings; // Noncompliant } public class A { public static String [] strings1 = {"first","second"}; // Noncompliant public static String [] strings2 = {"first","second"}; // Noncompliant public static List<String> strings3 = new ArrayList<>(); // Noncompliant // ... } 合规 private static final String [] COLUMN_NAMES = new String[]{"date","customerNumber","customerName", "account","emailAdress","mobilePhoneNumber","emailStatus"}; public static List<String> getColumnNames()

Hudson & Jenkins 文档一篇[转记]

醉酒当歌 提交于 2020-03-13 10:07:51
Jenkins 系统性系列文章: http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 下文转自: http://www.myexception.cn/open-source/423215.html jenkins中文安装手册 Jenkins搭建 可以直接在jenkins官方网站上:http://jenkins-ci.org/ 下载jenkins的文件jenkins.war文件 有两种启动方法。 首先保证系统中已经安装了jdk,最好是jdk1.5以上。 第一种启动方法,切换到jenkins.war存放的目录,输入如下命令: $ java -jar jenkins.war 然后在浏览器中(推荐用火狐)输入http://localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins 第二种方法是用tomcat打开 解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat /usr/local/apache-tomcat-6.0.18/bin$ ./startup.sh start 将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkins目录

Centos7部署SonarQube7.2

旧街凉风 提交于 2020-03-12 18:43:39
简介 官网 本文档安装的Sonar版本:7.2 下载安装 前置安装: # jdk1.8 sudo yum install java-1.8.0-openjdk.x86_64 sudo yum install java-1.8.0-openjdk-devel # unzip sudo yum install unzip SonarQube安装 # 创建用户 sudo useradd sonar -m -s /bin/bash sudo passwd sonar # 切换到创建的用户 su sonar # 下载 wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.2.zip # 解压 unzip sonarqube-7.2.zip # 进入解压目录bin下对应的操作系统目录 cd sonarqube-7.2/bin/linux-x86-64/ sh sonar.sh console # 后台启动(建议第一次使用console,以后用start): # sh sonar.sh start 访问: http://ip:9000 查看是否启动成功,启动成功可以看到页面: 访问成功后可以停止后台进程,往下配置数据库信息。 配置数据库 笔者使用的数据库是MySQL5.7,数据库安装请参考

sonarqube配置全指南,集成阿里巴巴p3c规范

点点圈 提交于 2020-03-12 12:46:43
**环境准备 ** <br/> 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库 <br/> 自定义数据库: Oracle SQL Server(只支持SQL Server 2014 以及 SQL Server2016) PostgreSQL MYSQL 版本限制: 8.0>MYSQL>=5.6 (注官方说明,从Sonar7.9版本,不再支持Mysql),以下链接 **End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. Please migrate to a supported database. Get more details at ** https://community.sonarsource.com/t/end-of-life-of-mysql-support https://jira.sonarsource.com/browse/SONAR-11963 安装步骤 <br/> 1.安装sonarqube: 安装的是windows 7.4 community社区版

sonarqube配置全指南,集成阿里巴巴p3c规范

非 Y 不嫁゛ 提交于 2020-03-12 12:42:54
**环境准备 ** <br/> 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库 <br/> 自定义数据库: Oracle SQL Server(只支持SQL Server 2014 以及 SQL Server2016) PostgreSQL MYSQL 版本限制: 8.0>MYSQL>=5.6 (注官方说明,从Sonar7.9版本,不再支持Mysql),以下链接 **End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. Please migrate to a supported database. Get more details at ** https://community.sonarsource.com/t/end-of-life-of-mysql-support https://jira.sonarsource.com/browse/SONAR-11963 安装步骤 <br/> 1.安装sonarqube: 安装的是windows 7.4 community社区版

sonarqube配置全指南,集成阿里巴巴p3c规范

夙愿已清 提交于 2020-03-12 12:32:27
环境准备 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库 自定义数据库: Oracle SQL Server(只支持SQL Server 2014 以及 SQL Server2016) PostgreSQL MYSQL 版本限制: 8.0>MYSQL>=5.6 (注官方说明,从Sonar7.9版本,不再支持Mysql),以下链接 End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. Please migrate to a supported database. Get more details at https://community.sonarsource.com/t/end-of-life-of-mysql-support https://jira.sonarsource.com/browse/SONAR-11963 安装步骤 1.安装sonarqube: 安装的是windows 7.4 community社区版 https://binaries.sonarsource