50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:301616
用户头像

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

关注

评论

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

4 款最适合打造灵活工单系统的开源零代码/低代码平台

NocoBase

低代码 零代码 工单 工单管理 开源‘

重磅升级!袋鼠云数栈全面拥抱Flink 2.0:架构革新、性能飞跃,开启实时数据处理新时代

袋鼠云数栈

sql flink 开源 云原生 数栈

IBM 研究报告:体育粉丝对AI助力的动态数字内容的需求增长

财见

长电科技发布2025年中报:面向未来持续加大先进封装投入力度,二季度及上半年营收同创历史新高

财见

微软紧急发布IE浏览器带外安全更新修复关键漏洞

qife122

安全更新 带外发布

如何5分钟内,发布一篇提示词分享的公众号文章

龙正哲

基于 EventBridge 构筑 AI 领域高效数据集成方案

阿里巴巴云原生

阿里云 云原生 EventBridge

EXCEL导入—设计与思考

京东科技开发者

共享自助洗车小程序系统:智能便捷的洗车解决方案

微擎应用市场

小程序 软件 共享洗车

mybatis中<if>条件判断带数字的字符串失效问题

刘大猫

人工智能 深度学习 模式识别 机器视觉 生物特征

昇腾助力中科大团队实现MoE 稀疏大模型并行推理提速超30%

极客天地

大模型在软件测试中的应用论讨

京东科技开发者

Playwright基础入门篇 (3) | 交互操作深度解析

测吧(北京)科技有限公司

隐私作为差异化优势:苹果的零知识实现与匿名中继技术

qife122

隐私保护 Oauth

社区团购小程序系统:专业社区团购解决方案

微擎应用市场

小程序 微信 社区团购

Milvus 可观测性最佳实践

观测云

Milvus

8 月中 汇报下近半个月都在做些什么

万少

不会写 SQL 也能出报表?积木报表 + AI 30 秒自动生成报表和图表

JEECG低代码

人工智能 AI 报表 积木报表 报表工具

如何选择适合的LED广告屏?

Dylan

广告 LED LED display LED显示屏 LED屏幕

黑龙江等保测评实施流程四阶段

等保测评

快递驿站小程序系统详细介绍

微擎应用市场

小程序 微信 快递

Fluss:重新定义实时数据分析与 AI 时代的流式存储

Apache Flink

大数据 flink 实时计算 Fluss

征程 6 | PTQ 精度调优辅助代码,总有你用得上的

地平线开发者

自动驾驶 算法工具链 地平线征程6

系统性能提升70%,华润万家核心数据库升级

老纪的技术唠嗑局

数据库设计 性能调优 oceanbase

基于YOLOv8的无人机航拍树木目标检测系统|精准识别【含完整训练源码+部署教程】

申公豹

人工智能

从百万到十万:低代码在企业应用系统开发中的成本优化路径

JeeLowCode低代码平台

低代码 低代码, 低代码引擎 低代码工具 低代码技术

从技术协同到生态共建:BOE(京东方)“双京赋能计划”三周年树立行业创新合作新标杆

科技热闻

库存平台稳定性建设实践

京东科技开发者

海底捞同款RFID方案:请享用这份「年省120万+零食安风险」科技大餐

斯科信息

RFID解决方案 斯科信息 仓储RFID解决方案 RFID标签

慧云美团闪购无人仓小程序系统:助力零售商家即时化转型的得力工具

微擎应用市场

小程序 仓库管理

房产中介租房平台小程序系统

微擎应用市场

小程序 微信 微擎 房产 中介

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