如何使用 SonarQube 改进工作流
twitter作为开发人员, 我不得不多次修复生产环境中的问题。有时, 我在代码之前没有看到任何错误, 而在其他时间, 我花了很多时间试图理解别人写的代码-更糟的是,sonarqube静态安全扫描工具, 我把代码放到生产中, 在几个月后发现了安全漏洞。
很可能你也面对过这种情况。因此, 有一个工具, 可以帮助您在早期阶段检测到它们, 岂不是很棒吗?SonarQube 使这成为可能。在这篇文章中, 您将了解它如何帮助您清理代码并防止将来出现问题。
SonarQube 入门SonarQube 是一个开放源码的质量管理平台, 致力于不断分析和测量技术质量, 从早的计划阶段到生产。通过将静态和动态分析工具结合在一起, SonarQube 连续监视七轴上的代码, 如重复代码、编码标准、单元测试、复杂代码、潜在 bug、注释和设计以及体系结构。
SonarQube 是一种用于主要编程语言的代码分析器, 如 c/c++、JavaScript、Java、c#、PHP 或 Python, 等等。通常, 应用程序同时使用多种编程语言, 例如: Java、JavaScript 和 HTML 的组合。SonarQube 自动检测这些语言并调用相应的分析器。
SonarQube 现在是 Bitnami 目录的一部分。您可以或推出它与我们准备使用的云图像只需几次点击和开始使用它在您的所有项目。利用 Bitnami 图像的特点: 安全、xin、优化、一致等。
玩 SonarQube在这个 GitHub 的项目中, 您将找到一个用 JavaScript 编写的代码示例。目标: 向您展示如何将 SonarQube 合并到您的开发工作流中。存储库包含两个主文件夹 (源和测试), 这样, 您就可以知道测试所涵盖的代码的百分比。
这个项目还包括一个声纳工程. 属性文件, 其中有一些配置参数需要配置 SonarQube, 如用户名, 密码, 语言等。
运行
$ 声纳-扫描仪在项目文件夹内, 这样就启动了第yi个扫描仪, 您可以在 web 界面中检查结果。
第yi次扫描
正如您在上面的截图中所看到的, 当前的代码有零 bug、零漏洞和六代码的气味。
我将修改源代码以引入一个 bug 和一个漏洞。这一次是有意的, 但是在日常的工作中, 这样的问题会在你没有意识到的情况下出现。
添加错误
再次运行扫描仪使用
$ 声纳-扫描仪如预期的那样, 将出现新的 bug 和漏洞。再次检查分析以查看所做的更改:
比较扫描
屏幕右侧将出现一个新节 (以黄色高亮显示)。SonarQube 处理两种状态: 当前状态 (以白色表示) 和xin更改。正如您在截图中所看到的, 上次扫描中引入的更改增加了一个 bug 和一个漏洞。SonarQube 评估每个部分的质量, 评分基于不同的参数, 一个是jia状态。在这种情况下, 引入 bug 导致 "bug" 部分从 a 传递到 C, "漏洞" 部分从 a 到 B。
您可以设置 "泄漏期间" 来确定要进行比较的方式: 按时间或在每个扫描仪执行之间。
让我们详细地看看 "覆盖率" 一节: 38.1% 是测试覆盖率 (正如您在 GitHub 存储库中看到的那样, 我对某些文件进行了测试, 但对于所有的文档都没有)。在黄色部分, 您可以看到新添加的行的覆盖率。以前, 为了添加错误, 我引入了一些新行, 但我没有为这些新行创建任何测试, 因此新的测试覆盖率为0%。此外, 点击覆盖范围, 我可以看到更多的信息的覆盖面, 例如: 覆盖的文件, 覆盖线的数量, 等等。
错误信息
通过这种快速而简单的分析 (您只需执行一个命令), 您将能够防止出现在生产环境中的错误, 使代码保持安全并遵守jia做法和质量标准。在下面的迭代中, 我将致力于实现零 bug、漏洞和代码气味的目标。我还可以在测试中得到100% 的代码。一旦我的代码处于这种状态, 就很容易看出所做的更改是否引入了某种错误或坏的做法。
如何挤压 SonarQube正如您在上一节中看到的, 保持代码的良好状态非常简单。但是, 还有更多的发现。SonarQube 有很多很酷的集成。
分析方法可以在下列分析方法之间进行选择:
用于 MSBuild 的 SonarQube 扫描仪:. Net 项目的启动分析SonarQube 扫描器: maven 的启动分析和xiao配置SonarQube 扫描器 Gradle: 发射 Gradle 分析蚂蚁 SonarQube 扫描器: 蚂蚁发射分析詹金斯 SonarQube 扫描仪: 詹金斯发射分析SonarQube 扫描仪: 当其他分析器都不合适时, 从命令行启动分析插件另外, SonarQube 有一个更新中心与各种各样的插件组织入不同的类别, 一些有用的插件是:
代码分析器
SonarCFamily c/c++SonarPHPSonarJSSonarWebSonarJavacss集成
GitHub 插件: 分析拉请求, 并指出问题作为评论。谷歌分析: 将 google 分析跟踪脚本添加到 SonarQube 的 web 应用程序中。单片机引擎
善变的: 增加对善变的支持。git: 添加对 git 的支持。SVN: 添加对 Subversion 的支持。身份验证和授权
GitHub 身份验证: 通过 GitHub 启用用户身份验证和单一登录。GitLab 身份验证: 通过 GitLab 启用用户身份验证和单一登录。谷歌认证: 启用用户身份验证授权到谷歌。读过这篇文章后, 你可能想尝试 SonarQube, 看看它是如何融入你的日常工作的。您可以直接从 Bitnami 目录或启动它。
快乐 (和安全) 编码!











SonarSource 从洞察风险合作伙伴获得4500万美元的少数股权投资代码质量的市场使用资金加速增长
新闻提供SonarSource, 洞察风险合作伙伴2016年11月29日, 09:13 ET分享这篇文章
日内瓦, 瑞士, 2016年11月29日/PRNewswire/-SonarSource, 代码质量管理的, 今天宣布关闭4500万美元的少数股权投资的风险投资和私人股本公司, 洞察风险的合作伙伴。理查德·威尔斯, 董事总经理, 保利·盖托, 洞察力的副总裁将加入公司董事会。
SonarSource 在瑞士成立于 2008年, 由奥利维尔 Gaudin, 弗雷迪槌和西蒙 Brandhof, 提供产品的连续代码质量的应用程序。由8万多家公司所采用, 开源解决方案从根本上改变了管理应用程序的可维护性、可靠性和安全性的方法。此外, SonarSource 为超过700客户提供了企业级解决方案, 其中包括 eBay、美国银行和宝马, 以及50家财富100强组织。
自筹公司自成立以来已大幅增长, 并将利用新的资本进一步加速增长, 并继续追求它的愿景, 使开发人员能够不断发布高度可维护、可靠且安全的代码。
"SonarSource 成立的目标是成为世界领xian的解决技术债wu、降低维护成本和运营风险, 终开发更好的软件," SonarSource 的执行官奥利维尔 Gaudin 说。 "我们与洞察风险合作伙伴的合作, 使我们能够从他们的知识和支持, 以建立一个性的组织, 大力促进我们的业务增长, 并解决我们迅速扩大的市场。
"代码质量管理已经成为那些保持不断扩大的代码基础的公司的关键问题, 而 SonarSource 已经成为行业标准," 理查德. 威尔斯说。"我们很高兴在我们的公司阵容中添加 SonarSource, 因为他们继续为企业和组织提供创新的解决方案来管理他们的代码库。
关于 SonarSource:SonarSource 为连续代码质量提供了 world-class 的解决方案。其开源和商用产品帮助客户管理其应用程序的代码质量, 降低其风险, 并终提供更好的软件。SonarSource 解决方案支持开发20种编程语言, 如 Java、c#、Javascript、c/c++、COBOL 等。拥有700多个客户, 包括 eBay, 美国银行, 泰雷兹, 宝马, 以及超过8万组织使用 SonarSource 的产品是事实上的市场标准。欲了解更多信息,
关于洞察风险合作伙伴:洞察风险合作伙伴是一家领xian的风险投资和私人股本公司, 投资于高增长的软件和支持互联网的公司,代理商sonarqube静态安全扫描工具, 它们正在推动其行业的变革。成立于 1995年,中国sonarqube静态安全扫描工具, 洞察力已筹集超过130亿美元, 并投资于超过250家公司。我们的使命是寻找、资助和成功地与富有远见的管理人员一起为他们提供实际的、动手的成长专长, 以促进长期的成功。有关洞察力及其所有投资的更多信息,
SonarQube - 的PL / SQL分析
发表评论
PLSQL_Majors我们继续本系列分析PL / SQL代码与今天的主要规则。
我们以前看过如何组织我们的环境,并配置我们的代码分析与Jenkins和SonarQube。
我们创建了自己的质量简介,并审查了所有面向可靠性和安全性的阻止程序和关键。继续阅读→
此条目发布于2014年1月21日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
使用SonarQube进行PL / SQL分析 - 关键
发表评论
PLSQL_Critical在本系列上一篇关于使用SonarQube分析PL / SQL代码的文章中,我们回顾了我们的质量配置文件中现有的阻止程序规则。
我们发现三个违反PL / SQL编程的jia实践,代理商sonarqube静态安全扫描工具,其后果如此重要,不允许容忍。因此,这证明了他们“阻挡者”的地位。
我们还发现这三个规则共有18个缺陷,所以我们假设这个规则是项目团队所知道的。
,这些缺陷导致了应用程序中的逻辑错误 - 这是一个永远不会执行的操作,因为相应的条件将永远不会被满足 - 甚至可能的崩溃。继续阅读→
此条目发布于2014年1月11日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
sonarqube静态安全扫描工具-华克斯信息由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是从事“Loadrunner,Fortify,源代码审计,源代码扫描”的企业,公司秉承“诚信经营,用心服务”的理念,为您提供更好的产品和服务。欢迎来电咨询!联系人:华克斯。