我有一整天的时间了解 Capistrano 的使用。真的是一个很好的工具,可以节省我很多时间。我实际上想用它来部署我的许多 php 应用程序之一:)
如果我有一个带有 $env="development" 变量的 config.php。有什么方法可以让 Capistrano 将这个变量改为“生产”吗?或者我应该忘记它并将其符号链接到共享?
为吉列尔莫欢呼
我有一整天的时间了解 Capistrano 的使用。真的是一个很好的工具,可以节省我很多时间。我实际上想用它来部署我的许多 php 应用程序之一:)
如果我有一个带有 $env="development" 变量的 config.php。有什么方法可以让 Capistrano 将这个变量改为“生产”吗?或者我应该忘记它并将其符号链接到共享?
为吉列尔莫欢呼
我喜欢将这些配置文件分开 - 它使它更加具体和明确。如何将它们分开和部署由您自行决定。通过将我的代码分支用于开发、暂存和实时,我已经取得了相当积极的结果——但我也看到了从外部分支合并(即三次)对于更大的项目来说是一场彻头彻尾的噩梦的情况。
或者,您可能有 config.php、config.php.live 等 - 但这需要手动维护。
您的里程显然会有所不同,我的配置文件在部署之间往往有多个不同的变量,因此,这种额外的架构是物有所值的。
如果您仍然想使用 capistrano 执行此操作 - 您可以使用 sed 使用正则表达式更改该行:
sed -i 's/$env=\"development\"/$env=\"production\"/' config.php
显然,一旦部署文件就运行它。