华克斯-SonarSource/SonarQube代理
将SonarQube指标集成到TFS构建中-简介所需步骤概述这里有很多步骤,有很多消化,所以我将分解这几个博客文章主要是:使TFS输出所需的测试和覆盖结果文件。设置您的项目使用声纳。将“SonarRunner”整合到您的构建中。所展示的解决方案足以满足我正在尝试实现的目的,但您可能希望重新排列几个步骤来适应您的场景。将围绕这些步骤进行一些讨论,以帮助您了解我所做的任何决定,并提供一些背景,但如果您感兴趣的是如何做到这一点,然后忽略此文本,只需按照步骤。祝你好运与你的整合。第1部分-使TFS输出所需的测试和覆盖结果文件。第2部分-设置您的项目使用声纳。第3部分-将“SonarRunner”整合到您的构建中。SonarSource的产品和服务被世界各地的客户所使用。所有规模的***都在使用来自SonarSource的产品和服务提高生产率,降低风险,***终开发更好的软件。SonarQube使软件质量成为Agirc和Arrco软件开发过程中的一个集成组件。Agircamp;Arrco是一家法国公司,负责管理超过2200万员工的补充养老金,并在广泛的行业、农业和商业领域担任高管。计算和计算这许多客户的养老金应该是昂贵的,如果不是灾难性的,如果做错了。Agirc和Arrco真的需要***的软件,以确保其业务运作顺利运行,其养老金得到正确和及时的评估。此外,具有优异的软件质量意味着更少的时间用于bug修复和提高开发新项目的效率。手动代码检查!=软件质量早在2008年,Agirc和Arrco就意识到需要改进它的应用,才能取得进展,但它的编码团队根本不知道如何去做。质量过程仅限于针对已知bug对小块应用程序进行手动代码检查。作为一个短期的结果,这些bug是固定的,但进程留下的核心,根本问题未触及。在软件质量过程的这个阶段,Agirc和Arrco面临着许多***共有的三关键挑战:无法识别起始点,并确定工作的优先级。团队不知道在哪里开始改进,或者快速获胜的地方--如果他们还存在的话。无法看到需要多少改进,并估计将质量提高到可接受水平的努力。无法阻止新创建的应用程序重新引入在现有应用程序中纠正的相同质量问题;再犯同样的错误。SONARQUBE使代码的改进变得清晰和简单在2008年秋季,Agirc和Arrco用m***en2取代了它的m***en1构建过程,并且作为这个过程的一部分,评估了几个解决方案来支持不断改进的软件质量。经过大量研究,SonarQube被选为在整个***中管理软件质量的集中解决方案。首先SonarQube是一个简单的,当你开始使用它:不需要庞大的配置bastienTouzet,应用建筑师在AgircArrco。Touzet还赞赏SonarQube融入开发环境的事实。我们***重要的特征之一是通过SonarQube插件进行Eclipse集成:现在,我们的开发人员可以看到并改进他们的代码,而不必在多个工具之间切换。在实施了SQALE插件的技术***评估,Touzet说,团队受益于对软件质量的关键措施的客观衡量标准,以及如何解决问题的迹象。SonarQube的简单和user-friendliness鼓励***中的每个人都参与进来,密切关注Agirc和Arrco的软件质量,并采取具体的行动来改进它。例如,在***近的绩效改善项目中,一家专门的审计公司参与审查公司的COBOL批处理程序。然后,团队利用SonarQube的易扩展性,根据审计结果开发新的SonarQube规则。现在,整个开发团队能够遵循这些编码标准,避免在其应用程序中引入新的性能问题。新的开发人员立即知道如何确保批处理程序的效率,避免引入新的问题。从改进代码中获得的优势长期以来,Agirc和Arrco都低估了代码质量改进的必要性。有一种模糊的理解认为需要改进,但由于缺乏对问题的了解,任何人都无法理解其范围或重要性。在2008年,SonarQube首先提供了这种可见性,现在它使软件质量成为软件开发过程中的一个不可分割的组成部分。今天,SonarQube每天运行,从50项目中分析超过240万行代码。整个***参与并参与了嵌入式质量过程,逐步提高了现有软件的质量,避免了新开发应用中的质量缺陷。公司及其200强的开发团队专注于长期的、value-added的活动,而不是在救火模式下的短期手动bug修复。对Agirc和Arrco的业务影响是难以夸大的:更好的软件大大降低了错养老金的风险,并使公司能够灵活地将其软件迅速适应外部环境的变化。SonarSource交付管道,持续的交付和DevOps是众所周知的和广泛传播的做法现在。人们普遍认为,重要的是组建伟大的团队,首先定义共同的目标,然后选择和整合***适合于给定任务的工具。通常,它是一个轻量级工具的混搭,它们集成在一起建立连续的交付管道并支持DevOps的计划。在这个博客文章中,我们放大到了整个管道的一个重要部分,这就是经常被称为连续检查的学科,它包括检查代码并在上面注入一个质量门,并显示在达到质量门后如何上传工件。DevOps的启用工具包括詹金斯、SonarQube和Artifactory。的用例你已经知道质量不能在事后被注入,而是从一开始就应该是过程和产品的一部分。作为一种常用的良好做法,强烈建议您尽快检查代码并使结果可见。因为SonarQube是一个很好的选择。但SonarQube不只是运行在任何孤立的岛屿,它是集成在一个输送管道。作为管道的一部分,代码被检查,并且仅当代码根据定义的要求是好的,换句话说:它满足质量门,被建立的工件被上传到二进制存储库管理器。让我们考虑下面的场景。其中一个繁忙的开发人员必须修复代码,并检查对***版本控制系统的更改。白天很长,晚上很短,而且对所有团队的承诺,开发人员没有检查本地沙箱中代码的质量。幸运的是,有构建引擎詹金斯作为一个单一的真理点,实现交付管道与其本地管道功能,并作为一个方便的巧合SonarQube有支持詹金斯管道。此更改将触发管线的新运行。哦不!生成管线中断,并且未进一步处理更改。在下面的图像中,您会看到已定义的质量门被忽略。可视化是由詹金斯蓝色海洋完成的。01PipelineFailedBlueOceanSonarQube检验潜在的问题是什么?我们可以打开SonarQube的web应用程序并深入查找。在J***a代码中,显然没有将字符串文本放在右侧。02发现在团队会议中,决定将其定义为一个阻止程序,并相应地配置SonarQube。此外,建立了一个SonarQube质量门,以打破任何建设,如果一个拦截qi被确定。现在让我们快速查看代码。是的,SonarQube是对的,下面的代码段有问题。03FindingVisualizedInCode我们不希望详细讨论所有使用的工具,也涵盖完整的詹金斯构建工作将超出范围。但有趣的提取这里的检查方面是在詹金斯管道DSL中定义的以下阶段:配置.xml:SonarQube检查阶段(SonarQube分析){withSonarQubeEnv(声纳){mvn***sonarsource扫描仪.m***en:声纳-m***en-插件:3.3.0.603:声纳-f所有/pomxml-DsonarprojectKey=com.huettermann:全部:主-Dsonar登录=$SONAR_UN-Dsonar密码=$SONAR_PW-Dsonar语言=j***a-Dsonar。的-Dsonar。的-Dsonar测试.夹杂物=**测试***-Dsonar.排除/**/**测试***}}用于运行SonarQube分析的专用阶段。允许选择要与之交互的SonarQube服务器。运行和配置扫描仪,许多可用的选项,请检查文档。许多选项可用于集成和配置SonarQube。请参阅文档中的替代方案。同样适用于其他覆盖的工具。SonarQube质量门作为詹金斯管线阶段的一部分,SonarQube配置为运行和检查代码。但这仅仅是第yi部分,SonarSource/SonarQube报价,因为我们现在还想添加质量门,以打破构建。下一阶段正好涵盖了这一点,请参阅下一片段。管道被暂停,直到质量门被计算,特别是waitForQualityGate步骤将暂停管道,直到SonarQube分析完成并返回质量门状态。如果遗漏了质量门,则生成将中断。华克斯-SonarSource/SonarQube代理由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司()为客户提供“Loadrunner,Fortify,源代码审计,源代码扫描”等业务,公司拥有“Loadrunner,Fortify,Webinspect”等品牌,专注于行业专用软件等行业。欢迎来电垂询,联系人:华克斯。)
苏州华克斯信息科技有限公司
姓名: 华克斯 先生
手机: 13862561363
业务 QQ: 3521016152
公司地址: 苏州工业园区新平街388号
电话: 0512-62382981
传真: 0512-62382981