Сколько кнопок надо нажать, чтобы ваш продукт из сорцов задеплоился?
аналитики - 0, ждать до следующего утра.
есть ещё хардкорный вариант - 1 кнопка, ~ 20 минут (если сразу после коммита кнопку нажимать, если позже, то минут 5).
заказчики
1) на UAT - штук десять команд в консоли ~ 30 минут.
2)на PROD - дохуища кнопок, ждать неделю если это не какой-то критический апдейт.
nightly build запускается автоматически сразу, daily build для тестеров и заказчиков раз в сутки, никаких кнопок нажимать не надо.
Написать один чейнджлог, нажать две кнопки в веб-интерфейсе. С момента нажатия до конца выкладки 10-20 минут.
100500 документов и слетать пару раз на другой конец света. реально.
Для деплоя тестовых и препрод версий надо нажать 0 кнопок - на каждый коммит автоматически создается виртуалка развернутая с кодом из этого коммита.
в IBS как у малого ситуация была
а если я опечатку в коменте исправлю и вкомичу - тоже виртуалка будет?
виртуалка развернутая с кодом из этого коммитаа как сделано, не на docker случайно?
эээ а что такого-то?
ну если виртуалка остается только от последнего комита - то ничего, а вот если от каждого - то ресурсоёмко получится.
Для деплоя тестовых и препрод версий надо нажать 0 кнопок - на каждый коммит автоматически создается виртуалка развернутая с кодом из этого коммита.супер
тест деплоится вручную из идеи, препрод автоматически при коммите в мастер, прод нажатием одной кнопки в teamcity.
а как сделано, не на docker случайно?Сделано на Vagrant, разработчики тоже работают в вагрантовской виртуалке.
что правда на каждый комит - виртуалка?На самом деле не на каждый коммит, там мониторятся специфические ветки (dev, preprod, prod) а активная разработка ведется в feature ветках.
а если я опечатку в коменте исправлю и вкомичу - тоже виртуалка будет?
Как устроена ваша среда разработки? Скажем вы комитите в source control, сколько кнопок надо нажать и сколько ждать, чтобы ваши изменения увидели ваши "потребители" (тестеры, аналитики, заказчики)?Я расскажу чуть-чуть как веду свои проекты. В основном я прогаю один совсем или с кем-то, максимум 3-4 человека.
1. SVN, потому что: хорошо настраиваются права на отдельные директории, всё в одном месте, интеграция с review board и trac. Может быть что-то ещё забыл.
2. Всегда есть директория trunk, в которую можно комитить. Правило простое: если не уверен в себе, сделай review и покажи коллеге. С мудаками не работаю, поэтому проблем нет.
3. Каждый отдельно взятый человек имеет свой набор доменов, для которых прописано всё в nginx и запущен свой PHP или что там ещё надо. Так как почти всё у меня на ПХП, то просто для каждого я запустил свой пул php-fpm процессов. Прогают и верстают все у себя в хоумах, правда БД обычно общая. Плюсовые демона программируют тоже в хоумах. В общем, всё максимально своё у каждого, правда все среды разработок закрыты http авторизацией.
4. Когда надо делать выкатку, я делаю branch и просматриваю что и как там, далее выкатываю на продакшен под beta.example.com, которая уже видна людям.
5. Коллеги смотрят, тестируют и потом beta переключается на продакшен совсем. Это про ПХП код.
6. Плюсовые демона выкатывают обычно сами программисты. Один демон = один разработчик, по крайней мере в квант времени. Пакеты собираются для больших демонов, которые многофункциональны и от проекта сильно не зависят. Всё что чисто проект обычно в виде so-модулей, выкатываются scp или wget. Рестарт руками под присмотром того кто прогает.
Моя схема хорошо и эффективно работает в проектах до 5 человек. Если больше, такое проект надо дробить на независимые, иначе бюрократии будет пипец как много и получится муравейник типа Яндекса в итоге.
Оставить комментарий
6yrop
Как устроена ваша среда разработки? Скажем вы комитите в source control, сколько кнопок надо нажать и сколько ждать, чтобы ваши изменения увидели ваши "потребители" (тестеры, аналитики, заказчики)?