Sonar

docker-compose 搭建 sonarqube8.2 + postgresql12

你离开我真会死。 提交于 2020-03-11 12:48:33
废话不多说上代码 version : '3' services : postgres : image : postgres : 12 restart : always container_name : postgres ports : - 5432 : 5432 volumes : - /opt/postgres/postgresql/ : /var/lib/postgresql - /opt/postgres/data/ : /var/lib/postgresql/data environment : TZ : Asia/Shanghai POSTGRES_USER : sonar POSTGRES_PASSWORD : sonar123 POSTGRES_DB : sonar networks : - sonar - network sonar : image : sonarqube : 8.2 - community restart : always container_name : sonar depends_on : - postgres volumes : - /opt/sonarqube/extensions : /opt/sonarqube/extensions - /opt/sonarqube/logs : /opt/sonarqube/logs - /opt

SonarQube代码质量管理平台安装与配置

▼魔方 西西 提交于 2020-03-06 18:07:49
1.安装说明 PS:为什么要有安装说明?江边望海在网上找资料的时候发现很多教程是没有交代清楚安装环境的。所以,不清楚他们的教程是否适合我的环境。明确『安装说明』方便网友了解我的配置环境,便于大家深入理解此教程。 虚拟机:VirtualBox4.3.26 操作用户:root 系统环境:centos6.6-x86_64(最小化安装) 软件下载目录:/root/opt ================ 2.预置条件 1.需要JDK1.6+支持;(如果不知道如何安装JDK,请访问我写的《 Centos下安装JDK 》) 2.需要Mysql数据库支持;(虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库) 多说一句:JDK是必须安装的,Mysql数据库并不是必须要安装的,如果公司有Mysql服务器,直接拿来使用就行,江边望海这次就没有安装Mysql直接用公司内网提供的Mysql数据库。 ================ 3.安装 在安装之前,介绍一下SonarQube和SonarQube Runner之间的关系。 SonarQube是服务器端,它主要有两个功能:1.分析源代码;2.因为它内嵌了Apache模块,所以提供Web端的界面访问。 SonarQube Runner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。

sonarqube配置全指南,sonarqube踩坑记录

社会主义新天地 提交于 2020-03-06 17:56:28
安装步骤 1.安装JDK: JDK11(1.8版本无法安装sonarqube) 如果无法找到下载地址,私信我。 2.安装sonarqube: 8.2 community社区版,我安装的是windows版本 https://www.sonarqube.org/downloads/ 3.数据库版本 SQL Server 2016(sql server version需要在12以上,也就是SQL Server 2012及以下版本是不兼容sonarqube 8.2的) 配置过程: 安装完毕,打开此目录,运行StartSonar.bat 2.启动浏览器,访问 http://localhost:9000 , 如出现下图则表示安装成功。 3.配置连接sql server (注:我之前打算使用Mysql, 不过Sonarqube已经官方说明不再支持Mysql,我便切换成sql server,最新版本的sonarqube需要Sql Server 2016+) 打开conf目录下的 sonar.properties文件,添加如下sql 连接 : sonar.jdbc.url=jdbc: sqlserver://10.60.215.202;databaseName=sonar sonar.jdbc.username=sa sonar.jdbc.password=123456 4.重启

掌握这些学习路线图,进入BATJ年薪三四十万不是梦!!!

时间秒杀一切 提交于 2020-03-06 17:44:01
Web应用,最常见的研发语言是 Java和PHP 。 后端服务,最常见的研发语言是 Java和C/C++ 。 大数据,最常见的研发语言是 Java和Python 。 可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 一个Java工程师需要掌握的技术是非常广泛的,有不少技术人问, 除了掌握Java语法,还要系统学习哪些Java相关的技术, 今天分享一个:Java技术学习路线图。 希望以下的学习路线能对你有帮助 更多相关资料私信【Java】就可以免费领取哒 上面都是自己整理好的!我就把资料贡献出来给有需要的人!顺便求一波关注,哈哈~各位小伙伴关注我后私信【Java】就可以免费领取哒 1、 性能优化 理解性能优化 Mysql调优篇 JVM调优篇 Tomact调优篇 2.微服务架构 漫谈微服务架构 Docker虚拟化 微框架 Spring cloud 3.源码分析 常用设计模式 Spring5 MyBatis 4.架构师工具箱 Maven Jenkins Sonar Git 5、多线程并发 Java内存模型 锁 开发工具类 原子操作 线程池 Synchronized Volatile 并发基础 并发集合 Del 引用类型 其他 第一阶段、Java基础

sonarqube不再支持jacoco coverage非xml格式的报告, 只通过sonar.coverage.jacoco.reportXmlPaths支持xml

拜拜、爱过 提交于 2020-03-06 17:22:06
jacoco是一个开源的,目前使用比较普遍的java语言的覆盖率计算工具,它默认生成的是.exec格式的覆盖率报告。sonarqube是做代码静态扫描的平台,它可以将jacoco计算的覆盖率上传到自己的平台上,然后根据指定的规则来做一些分析。sonarqube最新的8.x的版本开始不支持.exec这种格式的报告了(也就是参数sonar.jacoco.reportPaths是不支持的了),jacoco要生成xml格式的报告才能被sonarqube识别(sonar.coverage.jacoco.reportXmlPaths)。 官方文档的说明, https://docs.sonarqube.org/pages/viewpage.action?pageId=1442166 但文档并没有说具体从哪个版本不支持。 一、首先来看如何适应sonarqube的改动 下面来看如何让jacoco生成xml格式的报告,其实很简单,在build.gradle中添加这样一个设置就好了,打开xml格式,关闭csv和html格式。 jacocoTestReport { reports { xml.enabled true csv.enabled false html.enabled false } } 然后在执行的时候把这个task添加到参数里才可以 ./graldew jacocoTestReport

马蜂窝大交通业务质量体系建设初步实践

纵饮孤独 提交于 2020-02-29 05:30:51
质量是决定产品能否成功、企业能否持续发展的关键因素之一。如何做好质量体系建设,这是个比较大的话题,包含的范围很广,也没有固定的衡量标准。 打开一个互联网公司招聘网站,搜索「测试工程师」岗位时,你会发现几乎全部 JD 都包含一条要求「建设或者参与建设所负责业务的质量体系」。那么,是不是谈到质量保障就只是测试团队的职责?测试团队在这个过程中如何发挥价值?本文将结合马蜂窝大交通测试团队在质量体系从无到有搭建过程中的实践,来谈一下对质量体系建设的看法和理解。 质量管理的常见误区 在谈到质量管理的时候,很多团队在开始时会容易进入几个误区: 测试环节再关注 在实际项目中,很多时候都在测试阶段才发现大量实现类 bug,测试人员每天拉着研发修 bug;要么就是在临近上线的时候发现了一个重大问题,导致修复验证时间不够,但又只能「硬着头皮」上线。质量保障是要贯穿项目实施从需求提出到研发到测试全阶段的,如果到测试环节才来关注,已经晚了。 质量保障是 QA 的事 有了良好的质量我们才能提升用户体验和留存率。和第一个问题相类似,很多人会认为质量只是 QA 的事,和其他角色没有太大的关系。而实际上,软件的质量是在整个研发过程中逐步形成的,离不开 QA 团队,但只靠 QA 团队关注肯定是不够的,业务中的全部角色都需要提升质量意识:开发要增强自测;产品要提前规划和测试好要上线的内容

在Sonar中配置license和copyright的检查

时光怂恿深爱的人放手 提交于 2020-02-27 13:35:58
现在开源代码越来越多,代码头部的license和copyright信息在开发中容易被遗忘。那么就有必要做一些相关的检查,例如在持续集成CI中加入这方面的检查。当然,目前有很多集成在IDE中的工具来自动添加license和copyright信息,这是主动的措施,本篇要描述的是被动检查的机制。 本篇主要介绍在SonarCloud(Sonarqube也类同)中,如何添加这项检查功能。在以后的篇幅中,也会介绍其他不同的方式。 首先,简单介绍一下SonarCloud(SonarCloud是针对开源代码的检查,而Sonar也有本地的私有版本SonarQube。),它主要用于做代码的静态检查,包括扫描缺陷、安全威胁、代码单元测试覆盖率、代码重复率以及代码的坏味道等,常用于代码的持续集成中。官方地址 https://sonarcloud.io/ 。打开后可发现可以使用Github、Bitbucket、AzureDevOps以及Gitlab账户直接授权登录。 本篇以Github账户为例,使用Github账户登录后,点击右上角头像,在下拉列表里My Organizations里会出现Github中的组。可以点击加号->Analyze new project来配置扫描项目,也可以通过在Github中配置CI来配置自动扫描(可以参看 上一篇文章 来配置CI)。 添加好了项目,我们就可以开始了。 步骤: 1

SonarQube:代码静态检查

萝らか妹 提交于 2020-02-26 11:57:13
一、介绍 SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量通过插件形式; 可支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测;SonarQube官网: https://www.sonarqube.org/ Sonar是从七个维度检测代码质量,而作为开发人员至少需要处理前5中代码质量问题。 1、不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具规范代码编写 2、潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具检测出潜在的缺陷 3、糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,且没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试 4、重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方 5、注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免出现人员变动时,程序的可读性大幅度下降,而过多的注释又会使得开发人员将奖励过多的花费在阅读注释上,亦违背初衷 6、缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率 7、糟糕的设计 通过sonar可以找出循环

利用开源软件搭建JAVA工程CI&CD自动化工具链

旧巷老猫 提交于 2020-02-26 09:12:02
JAVA 传统项目交付流程的问题 开发和运维间环境有明显差异 代码缺乏统一质量度量 客户要求上线时间紧,人工测试慢,导致测试不充分,时常做线上 BUG 修复 打造工具链 源码管理 Gitlab 持续集成 Jenkins 代码扫描 SonarQube 接口测试 PostMan+NewMan 制品管理 ArtifactoryOSS 版本(仅支持 Maven ) 自动部署 Ansible GitLab 安装 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6 Repo_gpgcheck=0 Enabled=1 Gpgkey=https://packages.gitlab.com/gpg.key sudo yum makecache sudo yum intall gitlab-ce sudo gitlab-ctl start # 启动所有 gitlab 组件; sudo gitlab-ctl stop # 停止所有 gitlab 组件; sudo gitlab-ctl restart # 重启所有 gitlab 组件; sudo gitlab-ctl status # 查看服务状态; sudo

代码质量管理平台SonarQube部署文档

随声附和 提交于 2020-02-26 05:36:43
一、系统软件说明 centos-7.6 mysql-5.7.25 jdk-1.8.0_152 apache-maven-3.6.0 sonarqube-7.5 二、jdk、mysql安装略过 校时、selinux、iptables、时区、swap、openfile_limit、jdk、mysql找文档自行处理 创建sonar库,并授权给sonar用户 三、安装sonarqube 修改配置文件sonar.properties sonar.jdbc.url=jdbc:mysql://192.168.8.88:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=sonar #mysql用户名 sonar.jdbc.password=sonar #mysql密码 sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError sonar.web.context=/sonar sonar.web.port=9000 sonar.log.level=INFO sonar.log.level.es