@artinnok
бекенд-программист

Как вы быстро разворачиваете окружение?

Задача такая:
В проекте огромное количество зависимостей, как зависимостей Python, так и пакетов Linux. Когда разворачивали все окружение в прошлый раз, потратили несколько часов.

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

Что вы используете для быстрого разворачивания окружения?
  • Вопрос задан
  • 1955 просмотров
Пригласить эксперта
Ответы на вопрос 11
OnYourLips
@OnYourLips
Должно 2-3 минуты хватить с нормальными инструментами.
Попробуйте vagrant и ansible.

Некоторые советуют docker, но его использование влияет на рабочий процесс (при разработке надо учитывать, что он есть).

К тому же насчет нескольких часов без автоматизации процесса вы оптимистичны. Попробуйте предположить, сколько уйдет времени на настройку системы у фронтендера, не знакомого с питоном.
А с автоматизацией несколько минут.
Ответ написан
vechnoe
@vechnoe
Tornado, Django, Postgres, Asyncio, Clojure
Самое простое -- bash скрипты для сборки всех зависимостей на Debian + разворачивание базы (скриптом), плюс конфиги супервизора ngnix. Потом вызываются make скрипты для сборки питон окружения конкретно проекта + миграции. Где-то до 10 минут (если виртуалка уже готова).
Ответ написан
leahch
@leahch
Я мастер на все руки, я козлик Элек Мэк :-)
Использую virtualenv + ansible (или fabric в простых случаях). Для разработчика достаточно поднять в докере или kvm пару-тройку виртуалок с базами.
Ответ написан
smidth
@smidth
Программист-фрилансер
На мой взгляд docker лучшее решение. Не будет проблем ни с подключением новых разработчиков, ни с работой существующих.
Ответ написан
e-antonov
@e-antonov
1. менеджер зависимостей + ansible
2. ваши готовые базовые образы вагранта (это если надо что-то локально распространить, например в группе разраотчиков). на продакшене никакого вагранта.
3. docker с набором ваших образов.
Ответ написан
urtow
@urtow
*nix, python, QA, bagpipe, folk music
Vagrant + bash скрипты, так как система простая у меня.
Для более сложных - ansible или salt.

В результате dev откружение разворачивается за минуты.
Ответ написан
@denizen
Собирайте проект в deb-пакет. Системный менеджер пакетов сам вытянет все зависимости при установке.
Ответ написан
Sergei_Erjemin
@Sergei_Erjemin
Улыбайся, будь самураем...
virtualenv и храню его копию в облаке... Если надо развернуть окружение на новой машине, портирую папку окружения из облака и указываю для проекта путь к питона в этой папке. Если делать не портирование, а сихронизацию -- то можно поддерживать единую среду сразу на нескольких машинах.

Способ предполагает одинаковые ОС на всех машинах. Не обязательно ОС одной версии, но если на одной машине Ubuntu, а на другой Windows - то способ не сработает. В вот если Windows 8.1 64 bit и Windows 7 x68 -- то запросто.

Еще секрет -- внутри окружения использовать 32-битные версии питон. Оно и для большей доступности библиотек полезнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы