Разработка на машинах Windows, развертывание на Linux (Ubuntu) - PullRequest
2 голосов
/ 30 марта 2011

Я давно занимаюсь разработкой веб-приложения (написанного на Python / Django).Вся моя работа по разработке выполняется на компьютере под управлением Windows, но в конечном итоге я развертываюсь на сервере Ubuntu 10.10 (VPS).

У меня начались большие проблемы с тем фактом, что моя среда разработки и производственная средаразные.Я постоянно пробую новые библиотеки, которые поддерживаются в Linux, но имеют ужасную поддержку Windows и т. Д. У меня есть промежуточный сервер, но, очевидно, я не могу выполнять большую часть своей разработки, каждый раз развертываясь на промежуточном сервере.

Мой вопрос: Я хочу продолжать работать с Windows в качестве среды разработки, но не иметь всех этих проблем.Какой лучший способ пойти по этому поводу?Я начал рассматривать возможность запуска локального Linux-сервера на виртуальной машине, давая мне скорость локального сервера, но устраняя препятствие Windows.Это лучший способ сделать это?

Ответы [ 5 ]

3 голосов
/ 30 марта 2011

Я думаю, что существует столько же решений, сколько и разработчиков-фрилансеров.

Может быть, не самый лучший, но вот что я делаю, и это хорошо работает:

  • Windows7 хостинг 2 виртуальных машины (virtualbox)
  • Eclipse Helios на компьютере с Windows
  • 1 VM Ubuntu, используется для тестирования различных скриптов с клиента
  • 1 VM Debian как сервер разработки, построенный как идеальный образ рабочего сервера
  • 1 производственный сервер, поэтому в моем случае это Debian, куда я передаю «готовый» продукт или проверенные версии.
  • 1 сервер разработки, только для SVN и / или TRAC или аналогичных. Это может быть объединено с вашим виртуальным сервером разработки.
  • для разработки на Perl я добавил модули Perl - под cygwin- на хостинге Windows, Eclipse настраивается в соответствии с этой настройкой. Но, честно говоря, таких смешанных решений следует избегать.

Что это позволяет?

  • использование виртуальной машины позволяет вам иметь некое постоянное резервное копирование вашего сервера разработки,
  • использование виртуальной машины позволяет вам легко вернуться к предыдущей версии сервера - например, в случае сбоя
  • ssh с одной машины на другую, даже с одной виртуальной машины на другую,
  • общий доступ к каталогам между Windows и вашей виртуальной машиной,
  • использование Eclipse в качестве центра разработки для всего этого на компьютере Windows (subclipse / svn client, java, python, php, perl, bash, js, ...)

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

Поначалу это немного тяжело настроить, но очень удобно сразу на треке.

Надеюсь, это даст вам хотя бы идеи.

PS: настроить ВМ довольно просто, даже такой нуб, как я, сделал это: -)

3 голосов
/ 30 марта 2011

Использование виртуальных машин является нормальным способом решения этой проблемы. Они фантастически хорошо работают на современном оборудовании. Виртуальная машина предоставит вам самое удобное из доступных вариантов.

1 голос
/ 30 марта 2011

У меня была похожая проблема не так давно.Я разрабатывал мобильное приложение для Linux и не хотел отказываться от удобства редактора Visual Studio.Я установил VirtualBox с Ubuntu и общей папкой между гостевой и хостовой ОС.Таким образом, я смог отредактировать код в VS и скомпилировать / запустить его под Ubuntu без особых накладных расходов.Это работало хорошо для меня в течение достаточно долгого времени.Я предлагаю попробовать это.

0 голосов
/ 30 марта 2011

Я бы рекомендовал предварительно сконфигурированную TurnKey Django виртуальную машину для вашей разработки.Огромный бонус в этом заключается в том, что вы можете использовать TurnKey Backup and Migration (TKLBAM) для переноса вашего приложения (и любых настроек сервера) в облако, когда вы будете готовы ...

0 голосов
/ 30 марта 2011

Либо используйте виртуальную машину. Или вы можете использовать Cygwin. Что-то вроде псевдо ВМ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...