Что я обычно делаю в такой ситуации (даже если я не использую Capistrano) - это несколько файлов конфигурации, переданных в систему контроля версий.
Например:
config.php
для проявочных машин
- этот файл всегда используется приложением
config.testing.php
config.staging.php
config.production.php
А при развертывании приложения на сервере мне просто нужно скопировать файл, соответствующий текущей среде, в "config.php
" - поскольку этот файл всегда используется приложением.
Это означает, что я должен сделать копию файла во время процесса сборки, да, но:
- это означает, что нет необходимости искать и заменять, что может сломать
- это также означает, что все конфигурационные файлы передаются в SVN (или любое используемое вами программное обеспечение для управления исходным кодом)
Если ваши файлы конфигурации становятся слишком сложными и дублируют множество вещей, вы можете подумать о наличии одного файла конфигурации «по умолчанию», который всегда включен, и файлов субконфигурации, которые определяют только то, что зависит от среды.
Что то, что я говорил раньше, остается в силе: просто включите файл «по умолчанию» в начале друг друга.