代码之家  ›  专栏  ›  技术社区  ›  Anurag

在Capistrano上编写整个应用程序

  •  2
  • Anurag  · 技术社区  · 15 年前

    我正在处理一个任务,该任务需要从Github Repositroy签出源代码,然后修改 一些 基于某些现有配置数据的已签出存储库中的文件,这些配置数据来自于对不同Web服务(如JSON)的单独调用。对签出代码的更改是临时的,不会推回到GitHub。

    一旦根据配置数据处理和修改签出的源,我将创建结果源的压缩存档。

    我刚刚发现了Capistrano,它对于整个过程似乎都很好,尽管它与部署无关。另一方面,我可以简单地用普通的红宝石做同样的事情。目前,我在将Capistrano与定制任务结合使用方面考虑的更多。

    所以你可以说它是一个基于Capistrano本身的应用程序,在本地部署。这听起来像一个理智的方法吗?我应该用普通的红宝石来代替它吗?或者用纯Ruby编写部分应用程序,并用Capistrano连接这些部分。欢迎提出任何建议。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Lee Hambley    15 年前

    真诚推荐Thor(参见Github),它是纯Ruby语法的税务框架,如Rake(但与Capistrano一样,它在服务器集群分组和连接处理方面有很多缺陷,Rake与更经典的“制造”或构建任务有很多关系)

    我的建议是使用一组thor任务,在适当的情况下使用原始的net ssh(cap基于net::ssh)。

    对于结帐,我建议您观看“AMP”项目,他们提出了一种一致的交叉供应链结帐方法(但这是您的问题中最小的一个)-您可以在这里查看,但现在对他们来说还为时过早- http://github.com/michaeledgar/amp

    资料来源:(作为Capistrano的维护人员,我正计划推出我们自己的DSL,用Thor取代它,因为它更有意义)

        2
  •  1
  •   zed_0xff    15 年前

    至于我,我把这些东西写在 Rakefile ,然后使用 rake 命令调用它们。

    你可以发现rakefiles和capfiles很相似,所以 通常用于执行一些本地任务,以及 cap 用于远程。