在Capistrano上编写整个应用程序

时间:2010-06-21 06:26:37

标签: ruby capistrano

我正在处理一个需要从github repositroy检出源的任务,然后根据一些现有的配置数据从已检出的存储库中修改一些文件,这些数据来自单独的调用不同的Web服务作为JSON。签出代码的更改是临时的,不会被推回到github。

根据配置数据处理和修改签出的源后,我将创建生成源的压缩归档。

我刚刚发现了Capistrano,虽然它与部署无关,但它对整个过程来说似乎很棒。另一方面,我可以简单地使用纯Ruby来做同样的事情。目前,我在使用Capistrano进行自定义任务方面更重要。

所以你可以说它是一个基于Capistrano本身的应用程序,具有本地部署功能。这听起来像一个理智的方法吗?我应该用普通的Ruby写它吗?或者也许用纯Ruby编写应用程序的一部分,并将这些部分与Capistrano连接起来。任何建议都是受欢迎的。

2 个答案:

答案 0 :(得分:1)

至于我,我在Rakefile中写下这些内容,然后使用rake命令来调用它们。

您可以发现Rakefiles与Capfiles类似,因此rake通常用于执行一些本地任务,而cap用于远程。

答案 1 :(得分:1)

真诚地推荐Thor(参见Github)它是纯粹的ruby语法税框架,比如Rake(但是像Capistrano一样,服务器集群分组和连接处理有很多瑕疵...... Rake与更经典的“Make”或构建有很大关系任务)

我的建议是一组Thor任务,在适当的情况下使用raw-net-ssh(上限基于Net :: SSH)。

对于退房我建议你观看“放大器”项目...他们提出了一个一致的交叉scm方式来检查(但这是你最少的问题) - 你可以看看这里,但是现在还是他们的早期阶段 - http://github.com/michaeledgar/amp

资料来源:(作为Capistrano的维护者,我打算抛弃我们自己的DSL,用Thor代替它,因为它更有意义)