InfoQ|运维必备的DevOps工具链大盘点( 二 )


Gradle 是一个开源的自动化构建系统 , 基于 Apache Ant 和 Apache Maven 的概念 , 引入了一种基于 groovy 的领域特定语言 。
MSBuild Microsoft Build Engine , 更广为人知的名字是 MSBuild , 是一个开源免费的托管代码和原生 C++ 代码构建工具集 , 是.Net Framework 的一部分 。 Visual Studio 就使用 MSBuild 作为构建工具 。
Rake Rake 是一个软件任务管理和自动化构建工具 。 用户可以指定任务和描述依赖关系 , 还可以对同一个命名空间中的组任务指定和描述依赖关系 。
JFrog Artifactory JFrog Artifactory 是一种用于保存构建过程所产生的用于发布和部署的二进制文件的工具 。 Artifactory 提供了多种包格式支持 , 如 Maven、Debian、npm、Helm、Ruby、Python 和 Docker 。
JFrog 提供了高可用性、复制、灾难恢复、可伸缩性 , 并可集成很多自有和云存储产品 。
Sonatype Nexus Sonatype Nexus 是一个存储库管理器 。 可用于代理、收集和管理依赖项 , 这样就不用经常为一堆的 jar 文件感到烦恼 。 它让软件的发行变得更容易 。
在内部 , 你可以配置构建工具 , 把工件发布到 Nexus , 然后其他开发人员就可以使用它们了 。
NuGet NuGet 是.Net 包管理器 。 NuGet 客户端工具提供了生成和使用包的能力 。
【InfoQ|运维必备的DevOps工具链大盘点】NuGet Gallery 是程序包作者和使用者的中心包仓库 。
6测试工具 为什么测试工具对 DevOps 来说很重要?

  • 将注意力放在质量上;
  • 提升产品信心 。
测试工具示例 JUnit JUnit 是一个用于 Java 的单元测试框架 。 JUnit 在测试驱动开发当中扮演着非常重要的角色 , 它是单元测试框架家族 xUnit(源于 SUnit) 的一员 。
xUnit.net xUnit.net 是一个用于.Net Framework 的开源单元测试工具 , 由 NUnit 的原作者开发 。
Selenium Selenium 是用于测试 Web 应用程序的框架 。 Selenium 提供了一个回放工具 , 用于编写功能测试 , 省去了学习脚本语言的麻烦 。
Jasmine Jasmine 是一个开源的 JavaScript 测试框架 。 它的目标是可以在任何支持 JavaScript 的平台上运行 , 不干扰应用程序或 IDE , 并具有易于阅读的语法 。 它深受其他单元测试框架的影响 , 比如 Screw.Unit、JSSpec、JSpec 和 RSpec 。
Cucumber Cucumber 是一个支持行为驱动开发的工具 。 Cucumber BDD 方法的核心是一个叫作 Gherkin 的语言解析器 , 可以用用户能够理解的逻辑语言来指定预期的软件行为 。
7持续集成(CI)和持续部署(CD) 为什么持续集成和部署对 DevOps 来说很重要?
  • 快速反馈;
  • 减少缺陷和等待时间 。
CI 工具示例 Jenkins Jenkins 是一个免费开源的自动化服务器 。 Jenkins 帮助自动化软件开发过程中的非人为操作部分 。 它是一个基于服务器的系统 , 运行在 Servlet 容器中 , 比如 Apache Tomcat 。
CircleCI CircleCI 是全球最大的共享 CI/CD 平台 , 是代码从想法变成可交付产品的中心枢纽 。
作为最常用的 DevOps 工具之一 , CircleCI 每天要处理超过 100 万个构建任务 , 它可以访问到工程团队协作以及代码运行的数据 。 Spotify、Coinbase、Stitch Fix 和 BuzzFeed 等公司都使用 CircleCI 来提高工程团队的工作效率 , 发布更好的产品 。
Travis CI Travis CI 是一个托管的 CI 服务 , 用于构建和测试托管在 GitHub 上的软件项目 。 Travis CI 为私人项目提供各种付费计划和免费开源计划 。 TravisPro 部署在客户自己的硬件上 , 提供专有版本的定制部署 。
Concourse Concourse 是一个用 Go 开发的自动化系统 , 最常用于 CI/CD , 用于伸缩任何类型 (从简单到复杂的) 的自动化管道 。


推荐阅读