使用capistrano多级扩展避免冗余

时间:2013-09-26 19:10:56

标签: ruby-on-rails deployment capistrano

我有一个生产服务器的部署脚本我正在查看capistrano多级扩展,以便添加一个临时服务器。

多级扩展允许我将我的上限配方拆分为config / deploy / production.rb和config / deploy / staging.rb,但是大部分部署脚本是相同的,因此它是多余的。我可以将一些定义和任务保存在共享文件中吗?有人有这方面的经验吗?

更新:

我发现重复的任务可以放在deploy.rb中。只需要在各个阶段的文件中放置唯一设置。

1 个答案:

答案 0 :(得分:1)

应在deploy.rb中定义任何相同的变量和任务。 Capistrano首先使用您的部署配置,然后使用您的阶段的配置。阶段配置中定义的变量将覆盖deploy.rb中定义的变量。

通常,您至少应为每个阶段定义唯一的分支,主机名和角色。