SonarQube代码质量扫描持续集成 原创 BUG弄潮儿 2018-02-08 21:28:31 博主文章分类:java ©著作权 文章标签 SonarQube java jenkins 文章分类 Java 后端开发 ©著作权归作者所有:来自51CTO博客作者BUG弄潮儿的原创作品,请联系作者获取转载授权,否则将追究法律责任 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’,如下图: 关注公众号获取海量视频 赞 收藏 评论 分享 举报 上一篇:tomcat配置HTTPS 下一篇:Nginx配置文件nginx.conf详解 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 利用 Openshift 实现 DevSecOps(二)部署 SonarQube 第一篇 介绍 DevSecOpsDevSecOps 是将安全性(Security)融入到软件开发(Development)和运维(Operations)的 DevOps 文化和实践中的一种方法论。它强调在整个软件开发和交付过程中将安全性作为一个关键组成部分,以确保软件在开发、测试、部署和运行过程中能够满足安全标准和最佳实践。这篇介绍部署 SonarQubeSonarQube 是一个开源的 代码扫描 openshift UCCPS K8S DevSecOps Android实现雷达扫描效果 手把手教程,先看效果,能用得上的再继续往下看……注:生成的gif图扫描有点慢,下面代码有参数可以控制速度。针对上图效果,以UI方不方便切图,可以有两种实现方式。方式一:UI将整个雷达切图(除中间头像外)针对整个雷达图做rotation动画完整代码:布局文件:activity_main.xml<?xml version="1.0" encoding="utf-8"?><andro android 雷达图 渗透测试和漏洞扫描有什么区别 渗透测试和漏洞扫描是网络安全领域中非常重要的两种技术手段,它们都可以帮助组织或企业发现和修复系统中的漏洞和弱点。然而,这两种技术手段在目的、深度、方法和时间和成本等方面存在显著的区别。首先我们来了解下渗透测试和漏洞扫描分别是什么?渗透测试(Penetration Testing)是通过模拟真实的黑客攻击来评估系统的安全性。渗透测试员会使用各种技术和工具,尝试攻击系统的漏洞,获取未授权的访问权限 漏洞扫描 自动化工具 收藏:基于SonarQube的增量代码扫描 后的结果却是意料之外:几乎接近于0的测试覆盖率,几千... 基线 代码质量 命令行 SonarQube代码扫描规则 最近在研究sonarqube自定义扫描规则,看了官方的【规则】文章,如下。 概述 SonarQube 对源代码执行规则以生成问题。有四种类型的规则: 代码异味(可维护领域) 错误(可靠性域) 漏洞(安全域) 安全热点(安全域) 对于代码异味和错误,预计零误报。至少这是目标,因此开发人员不必怀疑是否需 自定义 配置文件 数据 代码扫描利器sonarqube sonar的作用 1、代码质量和安全扫描和分析平台。 2、多维度分析代码:代码量、安全隐患 项目代码 java 数据 SonarQube代码扫描模式 持续交付的核心是流水线,而流水线中最关键的步骤就是代码质量。一般我们会在提交流水线和集成流水线中强制检查代码 其他 SonarQube代码分支扫描 SonarQube代码分支扫描 SonarQube 代码扫描 分支扫描 sonarqube扫描安卓代码 代码才用https://github.com/liwanlei/bilibili-android-client 配置: build.gralde配置 执行 gradle sonarqube -Dsonar.host.url=http://localhost:9000 -Dsonar.login=sa github android maven Sonarqube扫描c++代码 Sonarqube扫描c++代码文章目录Sonarqube扫描c++.查看结果 xml 配置文件 xml文件 sonarqube 如何扫描java代码 # 如何使用SonarQube扫描Java代码在软件开发过程中,代码质量是非常重要的一个方面。SonarQube是一个用于静态代码分析的开源平台,可以帮助开发人员检测代码中的潜在问题,并提供改善建议。在本文中,我们将介绍如何使用SonarQube扫描Java代码,并解决一个实际的问题。## 安装SonarQube首先,需要安装SonarQube服务器。可以在SonarQube官网下载最 Java ide 服务器 sonarqube 增量扫描Java开发 sonarqube代码扫描 Preface:SonarQube和SonarQube Scanner可以在一台服务器上也可以在不同的服务器上本例:SonarQube部署在Linux服务器,而SonarQube Scanner使用的Windows服务器。step1:根据操作系统下载安装包https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scann java php git 服务器 d3 sonarqube本地扫描Java sonarqube 增量扫描 搭建sonar环境(搭建任何环境都要注意端口的占用)因为我们的服务都是运行在docker上的所以我们的sonar也用docker进行搭建 因为新版本的sonar不再支持Mysql数据库所以我们要用到postgres数据库思路:1.首先要搭建一个能正常访问的sonarqube平台(要先搭建数据库)2.然后搭建代码扫描器,由扫描器把扫描代码的结果上传到sonarqube存储到数据库中 (因为我们的je sonarqube本地扫描Java linux 运维 centos docker sonarqube扫描python代码 sonarqube扫描原理 简介SonarQube是开源的代码质量管理系统,用于检测代码中的错误、漏洞和代码规范。SonarQube可以与jenkins、gitlib集成,以便在项目拉取后进行连续的代码检查。SonarQube的小型实例至少需要4GB内存,大型实例需要16GB内存。Sonar的工作原理Sonar是一个Web系统,展现静态代码扫描的结果,结果是可以自定义。而真正实现代码扫描的是Sonar Scanner这个工具 sonarqube扫描python代码 git java 配置文件 sonarqube代码扫描maven sonarqube扫描vue Gitlab 提供了基于 Code Climate 的代码质量评估功能,这一功能是通过 dind(Docker in Docker)方式运行的,在 Kubernetes 环境中、尤其是托管集群中,这种方式不太合适,还好还有一个替代方案:Sonarqube,通过在 .gitlab-ci.yml 中的设置,可以使用 Sonarqube 对代码进行扫描,接收到 Commit 之后,Sonarqube 会 sonarqube代码扫描maven sonar 扫描vue目录 git 重启 Docker Sonarqube 扫描 本地java sonarqube静态代码扫描 一. 下载sonarqube下载地址:https://www.sonarqube.org/downloads/sonar-scanner下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner 二. 安装 Sonarqube 扫描 本地java c# 数据库 python bc SonarQube仅仅扫描java类 sonarqube代码扫描 亲测有效环境:springboot+gradle+jdk1.8+sonarqube7.4一、说明:SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、A SonarQube仅仅扫描java类 数据库 操作系统 java bc sonarqube如何执行java代码扫描 sonarqube静态代码扫描 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,可以通过使用插件机制与 eclipse 和 JIRA 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。 官网:https://www.sonarqube bc java 代码质量 sonarqube扫描java代码空项目 sonarqube静态代码扫描 SonarQube简介SonarQube是一个代码质量管理开放平台,它集成了数千种自动的静态代码分析规则,以python为例,典型的静态代码分析规则:l "break" and "continue" should not be used outside a loopl "yield" and "return" should not be used outside funct 代码质量 开发人员 sed sonarqube扫描springboot java代码 sonarqube代码检查 SonarQube是什么SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 S 代码规范 java bc 数据库