Capistrano配置管理的良好实践?

zac*_*ger 5 capistrano

我是Capistrano的新手,我想知道为我的项目管理Capistrano配置的最佳方法是什么.

具体应该config/deploy.rb在哪里与我的项目的源代码控制相关?我应该存储没有特定配置信息的文件模板吗?或者这个配置是否应该在团队中共享自己的repo?

con*_*nny 2

当我开始越来越多地使用 Capistrano 时,我也想知道这个问题。我想我们大多数人都同意将运行时配置信息与功能代码分开跟踪是有意义的,对吧?那么部署配置不应该也是如此吗?

我想你可以将你的./deploy/文件夹设为 SCM 子模块。您可以创建一个 rake 任务,将Capfile生成到您的工作副本中,这样您就可以将最终的密码和内容保留在应用程序之外......甚至可能有一个 gem 可用于此目的。

然而我选择了另一种方法:

我有大约十个不同的应用程序,其中大多数 Capistrano 变量可以遵循诸如set(:deploy_to) {"#{base_dir}/#{environment}/#{application}"}、 等模式,对于源代码存储库路径也是如此。

我从各个应用程序中提取了有关部署的所有知识,并将其放入一个单独的通用“部署”项目中。现在我可以检查该项目并继续:

cap [some application] [environment] [deploy task]
Run Code Online (Sandbox Code Playgroud)

我更喜欢这种模式/关注点分离,而不是到处散布 Capfile。