5分钟前 天津代理商sonarqube静态安全扫描工具来电垂询 华克斯[华克斯25b461e]内容:
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的全球风险投资和私人股本公司, 投资于高增长的软件和支持互联网的公司, 它们正在推动其行业的变革。成立于 1995年, 洞察力已筹集超过130亿美元, 并投资于全球超过250家公司。我们的使命是寻找、资助和成功地与富有远见的管理人员一起为他们提供实际的、动手的成长专长, 以促进长期的成功。有关洞察力及其所有投资的更多信息,
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 工具进行比较。
这两个步骤都需要后续的手动升级, 我认为这些升级准备活动。
关闭SonarQube中的旧版代码违规
一旦您设置了所有组件,您现在可以使用jsawk为所有现有的违规创建排除模式:
curl -XGET'http:// localhost:9000 / api / violation?depth = -1'| ./jsawk -a'return in(“ n”)''return source.key.split(“:”)[1] +“; *; [”+ ne +“]”' |排序| uniq的
这将显示一个可以粘贴在“关闭违规”插件的文本区域中或将其作为文件签入存储库的列表。随着下一个分析过程,您将希望看到零违规。当有人通过插入一行更改文件时,会再次显示违规行为,并且应该被修改。不幸的是,一些违规行为不是基于行的,并会产生一个行号'undefined'。目前我刚刚删除了这些手动,所以你仍然可能会看到一些违规。
结论
我提出了一种方法来将您的旧版代码重置为零违例。使用SonarQube 4.0,“切换违规关闭”插件的功能将在内核中使用,因此将更容易使用。我仍然在寻找保持排除模式xin的jia方式。一旦有人必须修复现有文件的违规行为,则应删除该模式。
更新09.01.2014
从SonarQube 4开始,这种方法不再工作了。 SwitchOffViolations插件的一些功能已被移动到核心,但是排除违反行为是不可能的,也不会实现。开发商建议仅查看项目的趋势,而不是总体违规数量。这可以很好地使用差分。