限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

Capistrano 的新竞争对手:Vlad the Deployer

  • 2007-08-22
  • 本文字数:1845 字

    阅读完需:约 6 分钟

Capistrano 是用来发布 Ruby 应用特别是 Rails 应用的常用部署工具,如今它面临 Ruby Hit Squad 开发的 Vlad the Deployer 的挑战。开发组的人员包括 Ryan Davis、Eric Hodel、Wilson Bilkovich 和 Shaners Becker ;在经过 4 天的编程之后(InfoQ 提供对 Ryan Davis 的专访),他们就发布了这个工具。很多原因推动了他们开发 Vlad,其中之一是由于 Capistrano 对其它软件的高度依赖。

我们与 Ruby Hit Squad 的部分成员探讨了他们开发 Vlad the Deployer 的动机。内容见下文,第一个问题是:Vlad 是否比 Capistrano 更易于使用。

Eric Hodel(下面简称 EH):复杂性更低、更容易理解和维护,就是这么简单。Wilson Bilkovich(下面简称 WB):不只是代码,而且在用户体验上也更加简洁。我曾遇到过这样的情况:在项目收尾的时候,我很难将 Capistrano 的配置文件直接推给客户。从经验的角度来看,Vlad 就没有那么复杂。我们频繁的使用 flog 进行检查,并选择使用得分最低的代码。

EH:同时我们内置最常用的部署操作,来让大部分用户可以用很简单的方式来入手并开始运行应用。在最近一次的 Seattle Ruby Brigade 会议中,Geoff Grosenbch 本来打算用整晚的时间来学习如何使用 Vlad,实际上他用 5 分钟就完成了。

Ryan Davis(下面简称 RD):没错,我们试着提供与 Capistrano 同样多的功能,但是复杂程度更小:

Flog(1.1)得分:

net-ssh-1.1.2.gem : 7528.3

needle-1.3.0.gem : 1685.4
capistrano-2.0.0.gem: 5609.2(几乎是 Vlad 的六倍)
TOTAL = 14822.9(比 vlad 加依赖关系的三倍还多) vs.

open4-0.9.6.gem : 742.0(而且我们真的只用了一个方法)

rake-0.7.3.gem : 3208.9(其中包括 contrib)
vlad-1.0.0.gem : 945.5
TOTAL = 4896.4

说明: Flog 是一个用来检查 Ruby 代码优劣程度的工具,得分越高说明代码问题越多。该工具使用了 Ryan Davis 的 ParseTree 库(通过 ParseTree 的 AST 表格)来分析 Ruby 代码。它对代码质量的多个方面进行检查,比如:对define_methodeval的使用,对method_added之类的钩子(hook)的使用,对开放类的使用,以及其他一些会增加潜在复杂度的概念的使用等。

Ruby Hit Squad 接下来提供了更多开发 Vlad 的原因:

RD:其他一些原因:
1)要理解 Capistrano、Net::SSH 和 needle 对我来说太难了。最近我对这些“聪明”的代码有点过敏。
2)要想把 Net::SSH 作为一个实际的 SSH 客户端来使用,问题太多了。
3)我需要花几个小时的时间来诊断 Net::SSH 的问题,但是得到的回应却是“(耸了耸肩)SSH 有毛病”。
4)最后一个原因,应用的部署经常是在最后关头,并且是在压力下进行的,这时你肯定不希望面临太多部署上的问题。它应该就是可以工作的。EH:Capistrano 正常运行需要依赖很多软件,并且与它们仅紧紧的耦合在一起。我们需要的则是一样简单易懂的东西,于是我们选择基于 rake 来开发,因为它更为人所熟知,并且更容易理解。

WB:如果我对 Capistrano 的意见仅仅是一些 bug 的话,我会提交相关的补丁。但是我更希望发布工具的名字能够容纳在 T 恤上面。

当被问到相对 Capistrano,他们是否更加推荐 Vlad 时,他们回答道:

RD:绝对的。我们的定位是:用 20% 的代码实现 Capistrano 80% 的功能,所以将目标放在 Capistrano 80% 的用户上面是很合理的。那些真正的内行用户们可能希望使用 Capistrano 全部功能,因此不想使用其他软件。WB:绝对的。我们希望接纳 Capistrano 的绝大部分用户,以及那些不知道如何让 Capistrano 开始运转的人们。

EH:我们还希望 Vlad 不只是用来部署 Web 站点。在很快将要发布的 1.1 版本中,用户可以略过缺省的 Vlad 建议,而是将其用作通用的系统管理工具。

当被问到 Capistrano 和 Vlad 项目是否有可能进行合作或是发生互动时,Ruby Hit Squad 看起来非常积极:

WB:我希望看到一个能够执行不同任务的、基于特定系统的命令库,这两个工具都会用到类似的东西。在搞定一些相似的细节之后,我们可以共享一个支持 SCM 的程序库。RD:当然有可能啦……不过我现在不愿意做太多的预测。但是我同意 Wilson 的观点,存在一个能够让我们彼此都受益的合作空间。

现在,你对 Capistrano 的经验是什么呢?

查看英文原文: Capistrano gets competition: Vlad the Deployer - - - - - -

译者简介:郑柯,目前就职于一家医药电子商务公司,从事医用耗材电子商务平台的开发与维护。有志于在中国的软件开发业界推广 Agile 的理念和方法论,笃信以人为本,关注 Ruby,关注敏捷,关注人。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-08-22 03:301506
用户头像

发布了 479 篇内容, 共 172.5 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

前端开发:VS Code编辑器新建Vue文件自定义模板的方法

三掌柜

vue.js 大前端 3月日更

如何用一个月的时间啃完英语词典?

wbliu85

COPU助力北大研究生开源公选课丨开源PostgreSQL研发课程成功进入北京大学

PostgreSQLChina

数据库 postgresql 开源 开源社区

Elasticsearch Inverted Index

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

最新蚂蚁五面、拼多多三面、字节四面(已入职拼多多),个人面经分享

Java架构之路

Java 程序员 架构 面试 编程语言

寻找被遗忘的勇气(十一)

Changing Lin

3月日更

大作业

yoki

git 教程 --git revert 命令

生之欢愉,时间同行

数字经济时代,区块链能否担当产业数字化转型核心赋能者?

CECBC

数字经济

Flink SQL CDC 实践以及一致性分析

Apache Flink

flink

一周信创舆情观察(3.1~3.7)

统小信uos

互联网人一天24小时在做些啥《打工人的那些事》

谙忆

源码分析-Netty:开篇

程序员架构进阶

架构 源码分析 Netty 28天写作 3月日更

Flink的状态编程和容错机制

五分钟学大数据

大数据 flink 28天写作 3月日更

数据湖到底是什么?有什么用?这篇文章告诉你

关二爷大数据笔记

大数据 数据湖 实时数仓

新的RBAC:基于资源的权限管理(Resource-Based Access Control)

龙归科技

资源 权限管理 rbac

第六.产品经理的项目管理

让我思考一会儿

区块链与隐私计算保护数据产权,让个人隐私不再“裸奔”

CECBC

区块链

二分查找以及变体

一个大红包

3月日更

【2021 ECUG Con】聚势而来,与你相约花开时

小剑客

区块链 云计算 大数据 开源 Go 语言

KubeNode:阿里巴巴云原生 容器基础设施运维实践

阿里巴巴云原生

阿里巴巴 容器 运维 云原生 k8s

终于学完国内算法第一人10年经验总结的数据结构与算法详解文档

Java架构之路

Java 程序员 架构 面试 编程语言

CloudQuery, 一款基于WEB的数据库客户端(转自杨建荣的工作笔记)

BinTools图尔兹

如何与下属沟通?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

外卖下单用例流程图

阿珍爱上阿强

【最新】2021年Hive阶段最全面试真题-附答案

大数据技术指南

大数据 hive 面试 28天写作 3月日更

有钱人为什么配置加密货币?

CECBC

货币

2021年爆锤39K月薪Offer!阿里巴巴Java面试(知识点)整理

Java架构之路

Java 程序员 架构 面试 编程语言

话说 类加载过程 第一篇

木子的昼夜

神了!终于有人把困扰我多年的Spring Boot讲明白了

架构 微服务 框架

推荐一款小众且好用的 Python 爬虫库

星安果

Python 爬虫 RoboBrowser

Capistrano的新竞争对手:Vlad the Deployer_Ruby_Werner Schuster_InfoQ精选文章