SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。SonARSOURCE 的产品和服务被世界各地的客户所使用。
思科系统 (NASDAQ: cisco) 是全球领xian的网络技术。思科拥有73460名员工和 Q2 FY13 121亿美元的收入, 在各种技术领域, 包括安全、网络会议、路由: 边缘/核心/接入、语音等方面都是市场的。思科 IT 代表公司的工程部门, 负责提高开发人员的生产率, 并在持续交付、构建管理、代码审查和部署方面实施jia做法。思科的目标是设计、实施和宣传的软件质量和维护工具。软件质量面临的关键挑战
今天, 思科将成为世界上 1 it 组织的轨道, 但有一段时间, 它无法管理软件质量可能是一个绊脚石。根据思科 it 工程师 Dhairya Sanghvi 的数据, 使它进入和通过 QA 的代码的质量是一个问题。过去有许多与代码相关的问题, 随着时间的推移而不断升级, 花费了我们很多钱。部分问题是缺乏标准。"我们曾经有开发团队以一种杂乱无章的方式进行代码审查和非功能分析," Sanghvi 说。"没有信息存储或对缺陷数量有清晰的了解", 也无法看到质量随时间变化的方式。此外, "代码评审所采用的系统和流程没有标准化, 因为没有用于执行 (审查) 的通用工具或规则集"。开发团队正在使用各种工具进行静态分析和单元测试, 但他说, "思科需要将其重心转移到一个具有更成熟报告能力的工具上, 开发人员和管理层都可以对其进行解释。SonARQUBE 是一致的选择
Sanghvi 说, 在寻找能够满足思科需求的工具的同时, 研究团队也在尝试将敏捷实践融入到思科 it 开发环境中。他说, 这支球队是以 SonarQube 的特点出售的, 但整合是关键的。"SonarQube 是一个代码分析工具, 与詹金斯集成好, 我们去了, ' a-哈, SonarQube 它是这样的!SonarQube 是一致的选择。Sanghvi 说, SonarQube 有 "很多伟大的特点", 但这些突出:可自定义的规则集-"SonarQube 中的可定制的质量配置文件是一个非常有用的灵活性, 考虑到我们的平台上有各种不同的粉笔和奶酪的团队," Sanghvi 说。"此外, 将 xml 规则 (从一个 SonarQube 实例转移到另一个) 和这些配置文件的继承能力都很容易使其成为完美的产品。项目组合管理-思科公司正在使用投资组合管理插件, 在整个企业中提供管理友好、个性化的质量指标。这给整个组织提供了很大的激励, 可以定期检查他们的进度, 跟踪改进并采取行动来修复质量缺陷。时间机器– "趋势分析报告是 SonarQube 中da量的使用能力之一, 帮助我们说服许多项目团队采用该工具" Sanghvi 说。"能够看到我们的项目在很长一段时间内的质量改善是关键的项目之一, 在您的阿森纳。当与项目组合管理插件结合使用时, 此功能为组织的性能提供了一个完整的窗口。在代码审查和功能集成中节省了大量的资源时间
根据 Sanghvi 的数据, 思科公司采用 SonarQube 的方法, 对这家企业来说是一个巨大的胜利。"SonarQube 已经触发了三倍的业务影响, 我们已经看到了在每一个项目团队, 我们已经登上-交付卓越 (时间到能力减少), 工程卓越 (质量改进) 和业务价值 (成本节约)。通过将代码分析转移到开发阶段并每天运行它, Cisco it 大大提高了代码质量, 并因此减少了紧急 bug 修复, 这 "为组织节省了大量成本", Sanghvi 说。"在 PLC 的早期阶段遇到的缺陷比以后被发现的要便宜得多。下一次大胜利是在代码审查领域。现在, 每个团队都在同一个地方进行代码评审, 使用相同的工具和度量, SonarQube 提供了对关键缺陷度量的清晰和基于时间的可见性。由于 SonarQube 的日常代码分析, 在代码审查和功能集成中节省了大量的资源时间。此外, "SonarQube, 与其相关的质量概况和他们的客户
连续检查由奥利维尔 Gaudin,SonarSource SA 首席执行官兼共同创始人软件的范式转换质量管理介绍软件质量是每个商业企业日益关注的问题, 因为不断升级的角色软件在运行关键业务系统中发挥作用。软件质量包括外部和内部质量。外部或功能性, 质量描述软件与其定义的功能需求–它是否按预期执行?内部质量描述关键的内部代码的特性, 如健壮性、标准一致性和可维护性。行业统计显示, 平均而言, 软件产品的生命周期成本的80% 用于维护,根据内部质量, 维护成本有很高的变异性。这意味着水平软件产品的可维护性今天将决定其成本责任的水平明天。传统的代码质量控制方法涉及 so-called 的准时审核或质量门, 这是对源代码的定期审核。这些审计通常由外部审计员在开发过程的 "后一英里"-在功能测试期间或之后。根据他们的本性准时的审核会导致开发周期的中断, 因为它们会导致更改"已完成" 软件。在hao的情况下, 这种质量控制方法会导致延迟和返工。在坏的情况是, 它导致了劣质软件的发布。在这两种情况下, 传统方法使人们认识到, 构建高质量的软件过于复杂和昂贵。迫切需要一个新的模式, 强调质量贯穿整个开发周期, 并有更短的反馈回路, 以确保快速解决内部质量问题;简而言之,从一开始就建立质量的模型, 而不是事后考虑。连续检查是一个整体的、完全实现的过程, 旨在使内部代码质量成为软件开发生命周期的组成部分。通过提高所有利益相关者的知名度生命周期, 连续检测使企业能够接受代码质量 whole-heartedly。在 SonarSource 的支持下, 连续检验范式是非常有效的, 并已被证明从小公司到财富100强企业, 在现实世界中工作,各行业。本文详细介绍了代码质量管理中的关键问题。它然后介绍了连续检查范式, 并说明了它如何解决这些挑战,支持数以千计的企业提高软件质量。
Ansible SonarQube 升级的角色
你可能知道, 并希望使用 SonarQube。这是一个伟大的工具, 是积极的发展和改善。这是伟大的, 如果你是一个开发使用 SonarQube。但是, 如果您碰巧管理 SonarQube 实例, 则由于升级指南由11步骤组成, 因此不断升级非常麻烦。
停止旧的 SonarQube 服务器
下载并解压新的 SonarQube 分布在一个新鲜的目录, 让我们说 NEW_SONARQUBE_HOME
使用默认的 H2 数据库启动它, 并使用更新中心安装您需要的插件
手动安装任何自定义插件
停止新服务器
更新声纳的内容. 属性和包装. 配置文件位于 NEW_SONARQUBE_HOME/配置目录中, 其内容与 OLD_SONARQUBE_HOME/配置目录中的相关文件 (web 服务器 URL、数据库设置等) 有关。不复制-粘贴旧文件
如果使用了自定义 JDBC 驱动程序, 请将其复制到 NEW_SONARQUBE_HOME/扩展/jdbc 驱动程序/<dialect>
备份数据库
删除数据/es 目录
启动新的 web 服务器
复制 http://localhost:9000/setup (用您自己的 URL 替换 "localhost:9000") 来浏览并按照安装说明进行操作
这是一个太多的步骤, 手动执行。因此, 我决定通过为它编写一个 Ansible 的角色来实现自动化。
初始设置
在我开始编写 Ansible 剧本之前, 我需要找到一种方法来测试我的代码。所以我开始与流浪汉旋转了一个虚拟机, 并提供了一个简单的脚本。这是需要有类似的环境, 以我们的实际 SonarQube 生产实例。我能够增量地构建我的 Ansible 剧本并在这个 VM 上测试它。很快我就明白了, 与流浪汉一起工作会减慢我的速度, 因为我需要重置环境, 而不是初的预期。所以我决定考虑泊坞窗。
用于测试的泊坞窗
我找到了正式的 SonarQube 泊坞窗图像, 但无法使用, 因为我们的 SonarQube 实例安装在 CentOS 和官fang图像使用不同的基础图像。另外, 我需要自定义特定的 SonarQube 版本我想开始。因此, 我创建了我们自己的 Dockerfile 与 CentOS 6 基地和 Ansible 安装。
此泊坞窗映像不需要启动 SonarQube, 因为我只是想验证是否进行了正确的文件更改, 而我的 Ansible 手册没有错误。升级的第yi步之一就是关闭服务器。
我将我的剧本装入容器, 并在该容器内运行 Ansible, 对该本地环境进行了更改。
当前脚本的路径
TESTS_DIR = $ (cd "$ (dirname" $ {BASH_SOURCE [0]} ")" & & 密码 "
# 命令测试剧本
TEST_COMMAND = "cd/行动 & & ansible-剧本 $ @
-我 ' 本地主机 '-c
升级-声纳 database.yml "
# 运行容器安装行动为卷
泊坞 run-v "$ TESTS_DIR/.。/行动/:/行动 "
"声纳-升级-测试"/"垃圾/bash-c" $ {TEST_COMMAND} "
在泊坞窗中运行我的剧本大大减少了反馈回路, 所以我决定泊坞窗是走的路。你可以看看我所有的脚本在 GitHub
Ansible 角色
我一步一步地往前走, 我到达了一个点, 一切似乎都在工作, 我有一个非常有用的 Ansible 的角色在我的手中。它尚未发布到 Ansible Galaxy, 但您可以在 GitHub 的 SonarQube 升级 Ansible 角色项目下找到源文件和文档。
当前 Ansible 角色通过在当前位置旁边创建新安装来升级 SonarQube。这提供了回滚的方法 (如果需要)。
此时, 角色执行以下任务:
确保特定的根用户存在于声纳安装
在所有安装所在的目录中创建声纳. sh
确保 SonarQube 服务存在
停止 SonarQube
下载新版本
备份数据库
下载和安装插件
将自定义配置应用于新实例
确保删除数据/es
重新 SonarQube 服务启动新版本
开始 SonarQube
手动步骤
这个过程仍然需要几个手动步骤。
在运行升级手册之前, 应手动确保在升级过程中要安装的插件列表是xin的。您可以从 SonarQube 的管理视图中获得xin支持的版本号。
根据 SonarQube 的建议, 此 Ansible 角色不仅复制以前安装的配置, 而且使用带有变量的模板来为新实例创建配置。这意味着在执行升级之前, 开发人员可以将模板和基本配置与新的 SonarQube 下载进行比较。虽然这是一个手动步骤, 但与以前的操作相比, 它更容易, 因为可以使用 IDE 而不仅仅是从命令行中的 diff 工具进行比较。
这两个步骤都需要后续的手动升级, 我认为这些升级准备活动。
SonarSource设置
在引擎盖下,这个SonarQube实例依赖于如下所示的许多默认或定制配置设置。
(以上是示例应用程序的截图)
可以通过该界面访问和更改各个组件的配置设置。
更新中心
到目前为止看到的各种仪表板中的许多小部件可以从下面的页面启用或禁用。还可以对所有小部件进行更新和升级,包括SonarQube本身的更新和升级。
(以上是示例应用程序的截图)
升级过程
查看[10]中的升级过程,另见[11],了解过程之前和之后应该做什么。
通常停止并重新启动SonarQube是在应用更新或升级到一个或多个组件或SonarQube本身之前和之后执行的常见步骤。
结论
在评估这些功能后,它清楚地表明,该产品具有优于其他解决方案的优势,即大量免费插件,基于插件的仪表板系统,除了作为开源项目,还有一个很好的开始用。话虽如此,可能有商业产品有更好的质量评估命题,但不一定有用,除非你是一个大型组织。
使用SonarQube作为创建短反馈循环的工具,并在评估建议的更改的原理后,对代码库进行改进。如果反馈不正确或是假阳性或假阴性 - 一个选项是调整相关组件背后的配置设置,以查看在当前情况下提出的问题是否适用 - 基本上是转动支票或不采取反馈字面上。
以上就是关于福建代理商sonarqube招标参数价格合理 苏州华克斯信息飞向太空作文全部的内容,关注我们,带您了解更多相关内容。