Я работаю в небольшом стартапе, и наш бюджет ограничен, но он у нас есть. В настоящее время все разработчики работают на одном сервере, используя отдельные виртуальные хосты. Это проблематично, потому что каждому нужен свой собственный путь включения php для сценариев командной строки, но это невозможно с виртуальными хостами ... Я знаю, что в идеале каждый разработчик должен иметь свой собственный ящик, но бюджет не позволяет этого. Staging & Production имеет свои собственные серверы и выделенные пути включения. Какой хороший способ гарантировать, что разработка максимально приближена к стадии постановки / производства? Есть ли хостинговая компания, которая может предоставить производственный клон виртуальной машины? Есть ли другая стратегия, которую мы должны использовать?
В настоящее время мы используем CentOS, MySQL 5.1.x, Apache 2.x, PHP 5.1.x
Если у вас есть бюджет, почему бы не приобрести машину для работы в качестве сервера Xen и предоставить разработчикам виртуальные машины, на которых они могут играть? Все виртуальные машины могут быть созданы из одного образа и иметь такое же программное обеспечение, что и ваши тестовые и производственные блоки.
На самом деле вы можете купить специальный или настроить его в своем офисе (стоимость больше не высока), установить centos и openVZ (это версия Parallels Virtuozzo Containers с открытым исходным кодом).
Создайте контейнер (который является виртуальным частным сервером) и установите, настройте частный сервер по своему усмотрению, как только вы закончите с ним, вы можете закрыть его и заключить в шаблон.
После этого вы можете использовать этот шаблон для запуска нескольких частных серверов в течение нескольких секунд, таким образом вы сможете предоставить своим разработчикам идентичный серверы для их среды разработки / подготовки / производства.
Спасибо,
Вы не развиваете локально? Почему бы разработчикам не использовать свои локальные машины для разработки, а затем протестировать их перед развертыванием. Я знаю, что это не совсем та среда, но в моем магазине она работает хорошо.
Фактически вы можете настроить отдельные пути для разных vhosts, но я бы определенно пошел по маршруту виртуальной машины (мы используем стандартизованные образы KVM для запуска на рабочих станциях людей) с управлением конфигурацией (например, Puppet) повсюду, чтобы гарантировать, что все остается в синхронизации.
Я почти задаюсь вопросом, лучше ли спросить об этом в stackoverflow.
Обычно я предпочитаю автоматизировать с помощью сценария / программы создание сред разработки / постановки / производства. Затем, когда у вас будет система, в которой критически важные детали могут быть настроены автоматически, время от времени стирайте все и заставляйте разработчиков работать с чистой средой. Если вы сделали резервные копии правильно, и они фиксируются в VCS, а ваш сценарий установки идеален, у них никогда не должно возникнуть проблем.
Использование виртуальных машин было бы идеальным, но в зависимости от того, что вы разрабатываете, возможно, не требуется.
Вы упомянули, что у вас проблемы с путем включения php в командная строка скрипты? Почему бы вам просто не использовать параметр php cli --php-ini возможность указать файл конфигурации, индивидуализированный для каждой среды / разработчика, с указанием необходимого пути включения?