Symfony 1.4 лучшая практика конфигурирования производства и разработки

Я только начинаю с Symfony.

Я использую Git / github как способ управления моим проектом. Я установил два игнорирования для журнала и кеша, что нормально.

Теперь мне нужно настроить производственную площадку. На данный момент в этом небольшом проекте я занимаюсь разработкой и производством на одном и том же сервере, но с разными расположениями файлов и баз данных.

например

www.example.com/mysymfonyproject_dev/  < development area
&
www.example.com/mysymfonyproject/      < Live / Production site

На сервере его/homes/sites/example.com/www/mysymfonyproject_dev & /home/sites/example.com/www/mysymfonyproject

Итак, теперь я клонировал свой проект в новую производственную папку.
Конечно, он игнорирует папки журнала и кэша, но теперь мне нужно изменитьdatabase.yml файл, например, и возможно больше, чтобы заставить производственную зону работать.

Каков наилучший метод борьбы с этим?
Есть ли какой-то другой файл, к которому я должен добавить.gitignore который может указать, какая версия этого сайта, например, разработка или производство.

ИЛИ Есть ли другой способ, которым я могу сделать это с помощью Git?

Что является лучшей практикой?

Как вы можете себе представить, я не хочу обновлять файл database.yml каждый раз, когда делаю git push на свой рабочий сайт.

ОБНОВИТЬ:

У меня есть среда разработки. То, что я ищу, - это пошаговое руководство по развертыванию в производство. Я мог бы использовать git для этого, но, например, как мне настроить окружение таким образом, чтобы все настройки были правильными при развертывании. Я вижу, что database.yml может иметь разные настройки для постановки и производства, но где тогда я скажу Symfony, что это за сайт? например, как Symfony узнает, что www.example.com/kickboxing - это производство, а www.example.com/kickboxing_dev - в постановке?

ОБНОВЛЕНИЕ 2:

В конце концов, для моих конкретных требований это работало хорошо.

1 <?php                                                                                                                          
2 
3 
4 require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
5 
6 $theurl = explode('/', $_SERVER['PHP_SELF']);
7 $mydir = $theurl[1];
8 
9 
10 if ($mydir == "mysymfonyproject")  //live
11 {
12     $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
13     sfContext::createInstance($configuration)->dispatch();
14 }
15 else // dev 
16 {
17     $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'dev', true);
18     sfContext::createInstance($configuration)->dispatch();
19 }

Я думаю, что использование $ _SERVER ['SERVER_NAME'] было бы лучше на локальных машинах, где вы можете настроить свой файл hosts, например. mysymfonyproject.local просто добавьте в индексный файл, а git-репозиторий будет ffine, и все файлы будут переносимыми.

Ответы на вопрос(0)

Ваш ответ на вопрос