У нас есть сервер разработки на базе Linux, к которому мы подключаемся с наших рабочих столов на базе Windows (через ssh, scp, samba (подключенный сетевой диск) и т. Д.)
Мы занимаемся веб-разработкой на Perl, используя apache2, mod_perl и MySQL, а наша кодовая база находится под контролем версий SVN.
Как лучше всего позволить всем (в настоящее время 5) разработчикам развиваться независимо?
Раньше я запускал несколько экземпляров apache (это можно было сделать путем взлома исходного кода apache и компиляции)
Но, возможно, было бы лучше использовать виртуализацию и эффективно предоставить каждому разработчику собственный сервер разработки (хотя для веб-разработки это кажется излишним).
И если я запускаю только один экземпляр apache, как лучше всего перенаправить входящий запрос на правильную кодовую базу? порт? поддомен? IP-адрес клиента?
Спасибо
Виртуальные машины отлично подходят для такого рода вещей - каждый разработчик может работать, не опасаясь оказаться у кого-то на пути, и они могут поиграться с изменениями конфигурации системы для поддержки нового кода, если это необходимо. Поддерживать производственную среду легко с помощью главного образа виртуальной машины или управления конфигурацией.
Я бы действительно рекомендовал использовать Apache, встроенные в функции VirtualHost. Используя виртуальные хосты на основе имен, вы можете запустить один экземпляр apache с совершенно разными корневыми кодовыми базами. У них должно быть собственное доменное имя для каждого пользователя, но это не должно быть проблемой. В итоге вы получите что-то вроде:
mark.dev.example.com
james.dev.example.com
julia.dev.example.com
Поскольку у вас уже есть настройка сервера SVN, вы можете создать независимый репозиторий для каждого пользователя, который они могут снова объединить в основной канал, когда они закончат работу с этим фрагментом. Вы также можете использовать SSL с ними, но если вы хотите использовать тот же сертификат, он должен быть либо подстановочным знаком, либо включать все дополнительные адреса.
Вы можете получить дополнительную информацию о виртуальных хостах на основе имен на веб-сайте apache для обоих версия 1.x и версия 2.x
Вы также можете предоставить своим разработчикам собственные базы данных MySQL без запуска дополнительной базы данных (я предполагаю, что ваше программное обеспечение может указывать имя базы данных, к которой оно подключается, а не только хост).