Окружение для бэкэнда под Windows

Дата: 19.03.18
Автор: Андрей, @duker33

Windows background

Расскажу как я работаю с веб-бэкэндом из-под Винды. Я не специалист в администрировании ОС и Винды в частности. Просто начал работать с веб-бэкэндом, но не захотел расставаться с Виндой. Вот и рассказываю как выкрутился. Работаю так уже пару лет.

Окружение для разработки

Использую Virtualbox + Dedian.

Вместо Дебиана можно использовать любой свой любимый Линукс. Я использую Дебиан потому что он минималистичный и консервативный. А для виртуалки эти качества я считаю важными.

Устанавливаем Virtualbox + Linux

Саму установку описывать не буду, её можно легко загуглить. Опишу как настроить пару фишек, которые мне пригодились для разработки.

После настройки получим полноценный Линукс, в который расшарен код из-под Винды. На Винде редактируем код, работаем с cvs, трекерами, документацией, чатимся. А на Линуксе запускаем код и тесты.

Настраиваем хост- и гостевую машины

Разрешаем создание симлинков

Их запрещают создавать и Винда и Виртуалбокс. - Чтобы победить Винду, делаем две вещи: - 1 - переводим её в dev-mode - 2 - всегда запускаем Виртуалбокс под админом, для этого можно один раз поставить галочку в настройках ярлыка запуска. Такой запуск считается небезопасным для хост-машины (вашей Винды). Но я так не считаю. - И разрешаем Виртуалбоксу создавать симлинки для вновь созданной shared folder.

Отказываемся от Linux GUI?

Можно запускать Линукс через Virtualbox без GUI. Командой Виртуалбокса запускаем машину, а потом подключаемся к ней по ssh. Это самый правильный путь. Лично у меня для этого не хватает ни времени, ни образования. Но если у вас хватает, вы можете сделать свою разработку ещё более удобной.

Другие окружения под Windows

Кроме связки Virtualbox + Linux есть ещё пара вариантов. Посмотрим на них.

Docker for Windows

У Докера есть версия для Windows. Часто сбоит (на апрель 2017), я так и не смог заставить его работать. Паре моих знакомых удавалось, но они тоже жаловались на нестабильность на разных машинах.

Кроме того, вы будете зависеть от софта, адаптированного к Windows. Не сможете поиграться с родной линуксовой консолью.

Windows Linux Subsystem

У Винды есть сырая Linux Subsystem. Это интеграция Linux'а без виртуализации. Разработка началась не так давно и subsystem ещё сыра (январь 2018). Например Докер на ней не взлетит.

Docker machine

Инструмент от Докера, позволяет управлять хостмашиной для докер-контейнеров.

Неплохой вариант. Некоторое время работал в нём. Сам ставит виртуальную систему Boot2Docker. Это такой минималистичный дистрибутив Линукса, вроде BusyBox'а. Для наших целей есть два варианта драйвера виртуализации: Виртуалбокс и виндовский Hyper-V.

Отказался от этого подхода из-за пары недостатков:

Прочие инструменты

Остальные мои инструменты.

Скажу пару слов про TortoiseGit, остальные интрументы довольно известны. Предоставляет удобный GUI для Гита. Хорошо визуализирует ветки, с ним легко ребейзиться, сквошить коммиты. Однако некоторые вещи, вроде новой ветки, чекаута или пуша бывает быстрее сделать из консоли. В плане контроля версий PyCharm многого не умеет. А то что умеет, делает нестабильно.

Итого

Винда - лучшая на мой вкус ОС для повседневной работы. А связка Virtualbox+Debian - лучшая по удобству и стабильности. У этих инструментов есть подводные камни, которые несложно пофиксить. Просто о них нужно знать.

Би продактив!