VirtualBox Ubuntu LAMP Разработка стека с использованием SVN и CruiseControl / phpUnderControl? - PullRequest
5 голосов
/ 09 сентября 2010

У меня есть машина с Windows 7, на которой я пишу как PHP / MySql Dev, так и .NET / C # / Sql Server.Из-за недавней переустановки я подумал, что это может быть идеальное время, чтобы попытаться сохранить свою машину немного чище, чем устанавливать Apache и IIS и т. Д.

Я установил VirtualBox с Ubuntu 10.04 в качествегостевая ОС, с планом перенести мою разработку PHP со старой платформы Windows / Apache / MySql на этот виртуальный образ.В дополнение к этому я хочу добавить CruiseControl / phpUnderControl в свой процесс разработки PHP.

Пока у меня установлена ​​Ubuntu 10.04 со стеком LAMP, плюс Netbeans для PHP, MySQL Workbench и т. Д.фактически так же, как мой старый Windows dev, но я также установил SVN и CruiseControl (я еще не установил phpUnderControl, но это следующий шаг).

Мой вопрос, могу ли яиспользовать этот виртуальный образ как в качестве моей "локальной" среды разработки, так и в качестве сервера сборки, так что мне не нужно загромождать мой собственный Windows-компьютер программным обеспечением, связанным с MySql / PHP (то есть я могу поддерживать его в чистоте и чистоте для разработки .NET)?

Я предполагаю, что мне нужен виртуальный веб-сервер, чтобы иметь возможность обслуживать как "локальную" версию разработчика любого данного проекта, над которым я работаю, так и промежуточную версию, которая будет собираться с использованиемcruisecontrol / svn commits?

Или я должен разделить свои серверы разработки и сборки, возможно, сохранить локальную разработку в windows и использовать тольковиртуальный образ для сервера сборки?или, может быть, две разные виртуальные машины для разных целей?

Буду признателен за несколько советов о том, как лучше всего это настроить.Один из проектов, над которым я хочу поработать, довольно сложный, поэтому я хочу убедиться, что я правильно его понял, прежде чем начать проект, чтобы я мог убедиться, что проект хорошо поддерживается с помощью версий, модульных тестов и непрерывной интеграции.Если мне когда-нибудь понадобится привлечь других разработчиков к проекту.

Ответы [ 2 ]

5 голосов
/ 09 сентября 2010

Если вы хотите, чтобы на вашем компьютере Windows не было инструментов MySQL / PHP, я бы настоятельно рекомендовал подход с двумя виртуальными машинами.Один настольный дистрибутив linux для разработки с LAMP и т. Д. Для быстрого оборота кода / отладки, и тот, который отражает реальную установку сервера (с добавлением svn и т. Д.) Для ваших тестовых сборок.

Это дает вам огромные преимуществадля того, чтобы иметь хорошую среду разработки и, что более важно, иметь тестовый сервер, который будет отражать работу вашего кода на живом сервере.Таким образом вы сможете поддерживать виртуальную машину своей среды разработки в актуальном состоянии с последними обновлениями для дистрибутива (ядро, инструменты и т. Д.) И хранить виртуальную машину сборки в любых версиях приложений на действующей машине.Это отнимает уйму догадок: «Это новая версия библиотеки X или мой код?».

Если вы хотите немного перебить, вам на самом деле нужно 3. Один для dev, другой дляSVN / непрерывная интеграция и та, которая точно отражает ваш сервер, чтобы вы могли проверить развертывание / конфигурацию системы.

3 голосов
/ 09 сентября 2010

Если вы планируете использовать виртуальную машину для разработки, почему бы не настроить ее точно так же, как настройку промежуточной / производственной среды?

Кроме того, вы можете настроить виртуальную машину для размещения репозитория кода и веб-сервера, а затем подключить инструменты, локальные к вашему хост-компьютеру (Windows). Таким образом, вы можете разрабатывать на своем Windows-устройстве, подключенном к виртуальной машине.

Это дает вам возможность делать все в вашей локальной среде, симулируя серверную среду в вашей виртуальной машине.

VirtualBox действительно хорошо работает в сети, и вы должны иметь возможность подключить свой хост Windows через сеть к серверу, как если бы он был действительно другим узлом в сети.

...