关于PHP项目和config.php的Capistrano默认部署任务的问题

时间:2009-07-20 11:33:33

标签: php deployment capistrano automated-deploy

我有一整天了解Capistrano的用法。真的是一个很好的工具,可以节省我很多时间。我实际上想用它来部署我的许多php应用程序之一:)

如果我有一个带有$ env =“development”变量的config.php。有没有办法让Capistrano改变这个变量给我“生产”呢?或者我应该忘记它并将它符号链接到共享?

欢呼声 吉列尔莫

1 个答案:

答案 0 :(得分:0)

我喜欢将这些配置文件分开 - 这使它更加具体和明确。如何将它们分开并部署,由您自行决定。通过分支开发,分期和实时代码,我得到了相当积极的结果 - 但我也看到过从外部分支合并(即三次)对大型项目来说是完全噩梦的情况。

或者,您可能有config.php,config.php.live等 - 但这需要手动维护。

您的里程显然会有所不同,我的配置文件往往会有多个不同的部署变量,因此,这种额外的架构可以收回成本。

如果您仍想使用capistrano执行此操作 - 您可以使用sed使用正则表达式更改该行:

sed -i 's/$env=\"development\"/$env=\"production\"/' config.php
显然,部署文件后运行此命令。