这21个自动化部署工具,你都知道吗?
比尔盖茨先生曾经说过:
“任何技术在一个业务中使用的第一条规则就是,将自动化应用到一个高效的操作上将会放大高效。第二条就是自动化应用到一个低效操作上,则放大了低效率。”
在过去几年的DevOps潮流中,似乎是那份声明强有力的经验性证据——而且数据好像也非常支持。在企业管理联盟的调查报告指出,企业持续交付频率增长了10%,更多达到2.5倍,更可能经历两位数(≥10%)的收入。
如果你很熟悉“持续集成”,一定会同意这样的观点:“使用它已经成为一种强制”。如今有很多持续集成工具,在这篇文章中,我们将介绍几款流行的持续集成工具。阅读本篇文章后,你会有对这些CI工具有一个更好的了解,知道他们能够为你提供什么功能,从而选出最适合你需求的一款持续集成工具。 接下来将依次介绍8款持续集成工具(介绍的顺序没有任何含义)。
1 Jenkins
Jenkins是一款用Java编写的开源的CI工具。当Oracle收购Sun Microsystems时,它作为Hudson的分支被开发出来。Jenkins是一个跨平台的CI工具,它通过GUI界面和控制台命令进行配置。
Jenkins非常灵活,因为它可以通过插件扩展功能。Jenkins插件非常好用,同时你可以容易地添加自己的插件。除了它的扩展性之外,Jenkins还有另一个非常好的功能——它可以在多台机器上进行分布式地构建和负载测试。Jenkins是根据MIT许可协议发布的,因此可以自由地使用和分发。Cloudbees还提供Jenkins in Cloud形式的托管解决方案。
Jenkins是最好的持续集成工具之一,它既强大又灵活。学习它可能要花费一些时间,但是如果你需要一个灵活的持续集成解决方案,那么学习如何使用它将是非常值得的。
2 ElectricFlow
ElectricFlow 是一个发布自动化工具,提供免费的社区版本,你可以在VirtualBox上运行。 ElecticFlow支持大量插件和基于Groovy的 DSL,CLI,APIs。
3 Microsoft Visual Studio
微软DevOps产品的基础之一是 Visual Studio。 Visual Studio允许用户定义版本定义,自动化运行,跟踪版本等等。
4 Octopus Deploy
Octopus Deploy创建目的是为了.NET应用的自动化部署。你可以在一台服务器安装或在Azure里做成实例。
5 IBM UrbanCode
2013年被IBM公司收购,UrbanCode 自动化部署到本地或云环境。
6 AWS CodeDeploy
Amazon的自动化部署工具CodeDeploy,有着令人印象深刻的客户名单、平台与语言无关。
7 DeployBot
DeployBot 可以链接任何Git存储库,并且允许手动或自动部署到多种环境。DeployBot提供大量集成,包括通过Slack部署的能力。
8 Shippable
Shippable 规定了它们自己的“DevOps支柱”和它们自己的CI平台,运行依靠称为minions的基于Docker的容器。
9 TeamCity
TeamCity 是一个来自Jet Brains的CI服务器。TeamCity 有智能的配置功能和拥有官方Docker镜像服务器和代理。
10 Bamboo
Bamboo Server 是CI,由来自在Atlassian的人们提供,他们是Jira和Confluence的制造者。Bamboo公布“integrations that matter”并提供一个“small teams”包,捐赠给 Room to Read慈善事业。
11 Codar
Codar 是一个HP的持续部署解决方案。部署使用Jenkins触发。
12 CircleCI
CircleCI 是一个CI解决方案,强调灵活性、可靠性和速度。CircleCI提供从资源到创建到部署的解决方案,并且支持大量的语言和应用。
13 Gradle
Gradle 是一个被一些业内最有名的例如LinkedIn, Netflix, 和Adobe所使用的创建工具。Gradle使用Groovy创建脚本,按惯例构建框架,并认为构建工具同时作为Apache的Ant的通用工具。
14 Automic
Automic 试图应用DevOps原理给一些后端应用,允许他们从已经在过去几年里许多前端、基于web的应用相同的实践上受益。
15 Distelli
Distelli 专门在任何地方部署Kubernetes集群,除了可以在任何云或物理服务器上使用。根据TechCrunch这篇文章,Distelli 在2015年12月获得了280万美元的资金,是由前AWS员工Rahul Singh创立的。
16 XL Deploy
XL Deploy 是一个来自XebiaLabs的应用发布自动化工具,支持大量插件和环境,使用无代理架构。
17 Codeship
Codeship是服务器托管CI解决方案,通过原生Docker支持定制。
18 GoCD
一个CD服务器,强调可视化工作流,GoCD 是一个开源项目,由ThoughtWorks公司赞助开发。
19 Capistrano
Capistrano 是一个开源部署工具,使用Ruby开发。Capistrano 文档具有脚本语言和“理智的,富有表现力的API。”
20 Travis CI
Travis CI 可以同步到你的GitHub账户,允许自动化测试和部署。Travis CI是一个免费的开源项目。
21 BuildBot
BuildBot 是一个开源的基于Python的持续集框架,自称为“内含有电池的框架”。BuildBot是面向罐装的解决方案用例,目前还不够灵活。
作者:Darren Perucci
翻译:思思
链接:https://dzone.com/articles/21-automated-deployment-tools-you-should-know