全国服务热线 13862561363

华东sonarqube静态安全扫描工具 苏州华克斯公司

更新时间:2023-12-25 10:33:06
价格:请来电询价
联系电话:(0512)
联系手机:13862561363
联系人:华克斯
让卖家联系我
详细介绍

SonarSource交付管道, 

持续的交付和 DevOps 是众所周知的和广泛传播的做法现在。人们普遍认为, 重要的是组建伟大的团队, 首先定义共同的目标, 然后选择和整合适合于给定任务的工具。通常, 它是一个轻量级工具的混搭, 它们集成在一起建立连续的交付管道并支持 DevOps 的计划。在这个博客文章中, 我们放大到了整个管道的一个重要部分, 这就是经常被称为连续检查的学科, 它包括检查代码并在上面注入一个质量门,华东sonarqube静态安全扫描工具, 并显示在达到质量门后如何上传工件。DevOps 的启用工具包括詹金斯、SonarQube 和 Artifactory。

的用例你已经知道质量不能在事后被注入, 而是从一开始就应该是过程和产品的一部分。作为一种常用的良好做法, 强烈建议您尽快检查代码并使结果可见。因为 SonarQube 是一个很好的选择。但 SonarQube 不只是运行在任何孤立的岛屿, 它是集成在一个输送管道。作为管道的一部分, 代码被检查, 并且仅当代码根据定义的要求是好的, 换句话说: 它满足质量门, 被建立的工件被上传到二进制存储库管理器。

让我们考虑下面的场景。其中一个繁忙的开发人员必须修复代码, 并检查对中央版本控制系统的更改。白天很长, 晚上很短, 而且对所有团队的承诺, 开发人员没有检查本地沙箱中代码的质量。幸运的是, 有构建引擎詹金斯作为一个单一的真理点, 实现交付管道与其本地管道功能, 并作为一个方便的巧合 SonarQube 有支持詹金斯管道。

此更改将触发管线的新运行。哦不!生成管线中断, 并且未进一步处理更改。在下面的图像中, 您会看到已定义的质量门被忽略。可视化是由詹金斯蓝色海洋完成的。

01 PipelineFailedBlueOcean

SonarQube 检验潜在的问题是什么?我们可以打开 SonarQube 的 web 应用程序并深入查找。在 Java 代码中, 显然没有将字符串文本放在右侧。

02发现

在团队会议中, 决定将其定义为一个阻止程序, 并相应地配置 SonarQube。此外, 建立了一个 SonarQube 质量门, 以打破任何建设, 如果一个拦截qi被确定。现在让我们快速查看代码。是的, SonarQube 是对的, 下面的代码段有问题。

03 FindingVisualizedInCode

我们不希望详细讨论所有使用的工具, 也涵盖完整的詹金斯构建工作将超出范围。但有趣的提取这里的检查方面是在詹金斯管道 DSL 中定义的以下阶段:

配置. xml: SonarQube 检查阶段 ("SonarQube 分析") {withSonar ("声纳") {mvn 组织 sonarsource 扫描仪. maven: 声纳-maven-插件: 3.3. 0.603: 声纳 +"-f 所有/pom" xml +"-Dsonar projectKey = com. huettermann: 全部: 主" +"-Dsonar" 登录 = $ SONAR_UN +"-Dsonar" 密码 = $ SONAR_PW +"-Dsonar" 语言 = java +"-Dsonar。" 的+"-Dsonar。" 的+-Dsonar 测试. 夹杂物 = ** 测试 *** +"-Dsonar. 排除/**/** 测试 ***"}}用于运行 SonarQube 分析的阶段。允许选择要与之交互的 SonarQube 服务器。运行和配置扫描仪, 许多可用的选项, 请检查文档。许多选项可用于集成和配置 SonarQube。请参阅文档中的替代方案。同样适用于其他覆盖的工具。SonarQube 质量门作为詹金斯管线阶段的一部分, SonarQube 配置为运行和检查代码。但这仅仅是第yi部分, 因为我们现在还想添加质量门, 以打破构建。下一阶段正好涵盖了这一点, 请参阅下一片段。管道被暂停, 直到质量门被计算, 特别是 waitFor 步骤将暂停管道, 直到 SonarQube 分析完成并返回质量门状态。如果遗漏了质量门, 则生成将中断。








SonarSource

使用安装在Mac OS X Mountain Lion 10.8.4上的SonarQube?(以前称为Sonar?)

发表在未分类的neomatrix369

介绍(续)

继续从之前在Mac OS X Mountain Lion 10.8.4 [01]上安装SonarQube?(以前称为Sonar?)的博客文章,我们将介绍如何在不同情况下使用SonarQube。

这个帖子可能会比前一个更加冗长,即使用命令输出和屏幕截图,说明SonarQube如何响应各种用户操作。

运行SonarQube分析项目

我们将介绍SonarQube可以通过maven或Sonar-runner(用于非Maven项目)分析项目(以SonarQube支持的编程语言[02]编写)的两种方式,以及SonarQube的不同方面这有助于作为静态代码分析工具。

通过maven

转到包含maven配置文件(即pom.xml)的项目文件夹,并根据终目标运行以下命令之一:


$ mvn clean安装声纳:声纳

$ mvn install sonar:sonar

$ mvn声纳:声纳

$ mvn clean sonar:sonar 的-Dsonar.host.url = http:// localhost:nnnn

(其中nnnn是SonarQube正在侦听的备用端口号)

输出

通过上述命令成功分析项目将导致以下输出到控制台或日志文件:


[INFO] ----------------------------------------------- -------------------------

[INFO] BUILD SUCCESS

[INFO]总时间:29.923秒

[INFO]完成时间:Fri Sep 13 18:07:01 BST 2013

[INFO] Final Memory:62M / 247M

[INFO] [18:07:01.557]执行org.apache.maven.plugins:maven-surefire-plugin:2.10:test done:20372 ms

[INFO] [18:07:01.557]执行maven插件maven-surefire-plugin done:20373 ms

[INFO] [18:07:09.526] ANALYSIS SUCCESSFUL,您可以浏览http:// localhost:9000 / dashboard / index / com.webapplication:sub-webapp

[INFO] [18:07:09.528]执行职位后的类org.sonar.issuesreport.ReportJob

[INFO] [18:07:09.529]执行工作后类别org.sonar.plugins.core.issue.notification.SendIssueNotificatiPo的stJob

[INFO] [18:07:09.529]执行职位后的类org.sonar.plugins.core.batch.IndexProjectP的ostJob

[INFO] [18:07:09.580]执行工作后类org.sonar.plugins.dbcleaner.ProjectPurgeP的ostJob

[INFO] [18:07:09.590] - >在2013-08-16和2013-09-12之间每天保留一张快照

[信息] [18:07:09.591] - >在2012-09-14和2013-08-16之间每周保留一张快照

[信息] [18:07:09.591] [信息] [18:07:09.614] 2008-09-19和2012-09-14之间每月保留一个快照

[INFO] [18:07:09.627] - >删除之前的数据:2008-09-19

[INFO] [18:07:09.629] - >清理webapp [id = 1]

[信息] [18:07:09.631] [信息] ------------------------------------- -----------------------------------

[INFO] BUILD SUCCESS

[INFO]总时间:38.345秒

[INFO]完成于:Fri Sep 13 18:07:09 BST 2013

[INFO] Final Memory:28M / 255M

以下是几个链接到pom.xml文件的示例,这些文件应该有助于创建新的或修改现有配置以将maven项目与SonarQube(包括其他maven CLI交换机)集成在一起,即使用Maven [03]和SonarQube分析Github [04] 。

通过声纳赛

转到包含sonar-project.properties配置文件的项目文件夹,然后运行以下命令:


</ DIV>

<DIV> </ DIV>

<div> $ sonar-runner </ div>

<DIV> </ DIV>

<DIV>

输出



如何在软件开发工作流中构建质量

远见卓识视图, 显示每个测试在运行时的执行时间

假设你是一个希望成长为一家中型科技公司的初创企业--介于30到100工程师之间。招聘是快速发生的, 而且你的代码数量也在快速增长。在较早的阶段, 贵公司专注于证明产品。一切都是规模较小, 你可以循环快速。现在, 随着你的成长, 你有更多的在编写代码和更多的变量的组合。

这是当你注意到产品质量开始恶化, 你不能像你希望的那样快速发布代码。在扩展业务时, 有越来越多的变量需要进行调整, 您可能会忽略更多测试的需要, 并在测试上花费更多的时间。

如果你决定聘请一个 QA 经理, 而后者又带来了一批自动化工程师, 你就可以走出困境。硒测试的覆盖率很高。但随着时间的推移, 事情又开始放慢了。所有的自动化和善意, 你建立了硒覆盖开始打破和失败,代理商sonarqube静态安全扫描工具, 它反复暂停软件工厂。

我们开始的地方

当我加入 Shutterstock 时, 我对公司的自动化测试覆盖率印象深刻。几乎每一个功能的网站上都有测试覆盖率的形式, 硒端对点测试。Shutterstock 有一个开发工作流程的地方通过詹金斯, 将阻止部署到生产, 如果硒测试失败。我喜欢这样;这意味着除非所有的测试都通过了, 否则任何人都不能将任何东西放到生产中。

但不久之后, 我意识到, 我们的公司, 这是每天发布多次, 已经变成了一个公司, 现在被禁止发布多天一次,中国sonarqube静态安全扫描工具, 主要是因为失败的硒测试。常见的情况是, 测试失败不是因为产品损坏, 而是因为它们很脆弱。

一些事情导致了这一点:

终端端 selenium-based 验收测试成为了每个人都依赖于测试的唯yi形式的自动化测试。许多团队甚至停止编写单元测试。

测试框架是片状的, 是由 QA 团队建立和拥有的。当某件事情失败, 整个软件工厂停止运转时, QA 团队中一小部分三到五人的错误就落在了我们身上, 他们经常被指责为放慢了组织的速度。

工程组织花了很多时间来研究如何构建一个可以扩展的产品,中国sonarqube静态安全扫描工具, 但是没有足够的注意力去构建一个支持这种产品开发的开发工作流程。

质量完全由 QA 团队拥有。

在我们的, 我们有一个 QA 组织, 它没有与组织的其他部分进行扩展。虽然他们拥有自动化所有内容的技能, 但是他们缺乏构建可伸缩的测试框架所需的技能。由于这种差距, 他们无法影响组织的其他人认为质量是所有人拥有的东西, 而不仅仅是 QA 团队。为了弥合这一差距, 我们不得不重新考虑我们对 QA 整体的态度。

迈向新的开始

我想完成两个目标: 首先, 重建 Shutterstock 的测试基础架构/框架, 使其更加稳定, 其次, 改变 Shutterstock 的工程文化, 使之成为一个质量不是由测试工程团队拥有的, 而是由每个人来拥有。

我们改变了招聘测试工程师时所期待的能力。我们希望我们的测试工程师成为强大的开发人员, 他们知道如何构建 object-oriented 的解决方案, 从而帮助他们创建一个稳定且可扩展的测试框架。我们也希望他们成为有影响力的人, 他们可以推动他们的团队做正确的事情, 而不采取跳过单元测试这样的捷径。一旦我们建立了一个 world-class 测试工程团队, 我们就开始了解如何快速发布, 同时保持一个的产品。

我们知道我们da的问题是脆弱的测试, 所以我们建立了一个叫做 "睿智" 的工具来记录每个测试的通过/失败数据。我们所有的测试都把数据推入睿智, 每次他们作为我们的詹金斯工作流程的一部分运行。然后, 我们在这个数据库之上建立了一个网站, 使数据的挖掘变得容易。我们现在能够监控工作的合格率、个别测试的及格率、常见的失败消息、的运行测试, 等等。有了这些数据, 我们就可以保持自己和其他人的责任感。我们的一个团队受影响的失败的测试认识到, 他们通常的传球率只有20%。(试想一下, 由于这一路障, 软件工厂经常停下来。通过使用远见卓识, 他们能够快速隔离测试的di合格率, 并在这些测试中看到常见的失败消息。团队对测试脚本进行了简单的修复, 以提高其可靠性。



华东sonarqube静态安全扫描工具-苏州华克斯公司由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司拥有很好的服务与产品,不断地受到新老用户及业内人士的肯定和信任。我们公司是商盟认证会员,点击页面的商盟客服图标,可以直接与我们客服人员对话,愿我们今后的合作愉快!

没有

联系方式

  • 地址:苏州 苏州工业园区新平街388号
  • 电话:(0512)
  • 联系人:华克斯
  • 手机:13862561363
  • QQ:3521016152
  • Email:sinocax@sinocax.com
产品分类