Традиционно, пост, краем касающийся Украино-российских отношений, превратился из объективной критики, советов, предложений в повод для слива.
Давайте объективно: предположения о том, что это очередной распил не подтвердились, делает томская IT компания на свои деньги.
Никто никого из Украинских собственников не кидал, а постарались сделать в данных условиях хоть как-то легитимно.
Проект делается для того, чтобы местным айтишникам и приезжим людям было где общаться, чтобы было место и возможность работать, а также место где можно было проводить обучение и конференции.
Я думал, что это благие цели, и подобные начинания нужно поощрять.
P.S. Чтобы не было срывов покровов, сразу отпишу, что лично знаю и работал с Алексеем.
вы не поверите, но для той самой «воды» многие используют хаб перевод и делают полноценный пост… но если вкратце, то все кто в теме уже в курсе, а остальные хотели бы полноценной истории с завязкой, драмой и развязкой
Не за что. Если будут более конкретные вопросы, пишите в личку, расскажу более подробно как это работает конкретно у нас. Ну или расскажите, как хотите сделать вы, вдруг мы уже на такие грабли наступали :)
на 3 проектах суммарная суточная аудитория около 1 100 000 уников, в момент деплоя в онлайне обычно 2-4 тыс. человек… на производительность сервера svn export и прочие дисковые операции обычно не влияют… проблемы могут быть если существуют тяжелые миграции (к примеру БД), которые могут вывести из строя работу сервера на длительное время… В этом случает делаем аккуратно, к примеру, если это тяжелое обновление БД, то накатывается вручную или через дополнительные таблицы или с перелючением на другой сервер БД, после догоняем сделанные изменения… или новое обновление может работать как со старой стуктурой, так и с новой, со временем обновляя данные… в этих случаях все индивидуально…
само переключением проходит для пользователя практически незаметно, потому что для проекта написаны скрипты так, что сервисы без необходимости не рестартятся, временные файлы необходимые для бесшовного переключения, остаются, сессии и прочее хранится в БД, а переключение симлинки проходит очень быстро…
P.s. Чтобы было понятней приведу немного цифр. Специально глянул:
Cейчас в системе деплоя около 30 проектов, итого около 50 планов деплоя (на 1 проект, может быть несколько планов деплоя: в проектах может быть несколько сервисов: веб, апи, поддомены с бета версиями или лендингами/промо сервисами), которые постоянно выкатываются на продакшен. На раных проектах из языков/фреймворках используются: yii, symfony2, самописный фреймворк, node js, 1 веб сервис полностью на java. Различные хранилища и модули.
фактически проблемы периодически появляется, но с конкретными проектами… зависит и от задействованных фреймворков и от стека технологий. Но это не «проблемы», это сценарий деплоя проекта требует доработки. Я описал общее поведение системы деплоя, в него практически все вписывается… Кстати забыл: CI кроме выгрузки сорцов проекта выкачивает еще и настроеки проекта:
конфиги nginx — шаблон кастомных реврайтов настроек
настройки окружения — xml файл с настройками (использовать ssl или нет, делать ли редирект по умолчанию с домена на домен с www, на какие директории делать и куда делать симлинки, на какие директории нужно заново выставить какие то права), какую версию и какой пул php использовать, какие дополнительные домены парковать к этому сайту
конфиги cron
анализатор конфигов проекта — скрипты редактирующие/генерирующие конфиги проекта, в зависимости от окружения…
И генерирует на основе них файлы конфигурации для продакшен окружения удаляя старые…
Конечно же, иногда приходится дорабатывать под проект, конкретные стадии деплоя индивидуально
Некоторые проекты могут просить жесткий ребут php-fpm, можно сделать это мягко и использовать для проекта 2 пула php-fpm, перезагружая их по очереди, или может быть рестарт мемкешд, где то нужно прежде работать с composer, но это уже лирика…
Кстати, конкретно у нас есть еще система преддеплоя/тестирования, которая фактически делает тоже самое, но с дебаг режимом, логированием тестов и работает автоматически при каждом коммите в транк разворачивая все это на тестовом сервере, поэтому если что-то явно сломается или скрипты не отработают — будет видно сразу…
CI система выкачивает сорцы с репозитария на целевой продакшен сервер, выполняет миграции БД, выполняет деплой и миграционные скрипты для проекта как то: переделывает симлинки с директорий с данными, если нужно с некоторыми кешами, чистит кеш проекта, (возможно и apc | memcache), переключает симлинк document root директории на новую папку, прогоняет последний тест, что все завелось, если не завелось — откатывает симлинки, миграции и т. д.
Примерно так, с порядком может быть напутал, потому что писал по памяти, а реализацию писали больше 1.5 лет назад
В целом: Интел решил не распыляться, а взять четкую прицел на мобильный рынок, который они упустили.
В остальных направлениях поддержка и потчевания на лаврах.
фишинговые сайты будут просить пользователя разрешить js и дальше радоваться…
к тому же способы ломать через java, flash, другие плагины, уязвимости никто не отменял…
конечно же это правильно, ведь если девочки-модераторы гугла получат распоряжение: блокировать, в случае каких либо подозрений, рекламодателей… мы сами и взвоем…
Очень хорошо написано, у меня было примерно также:
чтобы нормально поиграть в какую нибудь годную игрушку приходилось разбираться с настройками своей железки, иначе либо не запускалось, либо тормозило, либо что-то не работало…
и начинались:
вечные меню для unPnP устройств, где нужно было указывать модель чипа, совместимость, прерывания и прочее…
раскуривание конфигов…
разбор логов запуска или падения…
заставляло изучать технологии))
если имеется ввиду фотография в посте, то это: «результатам этого анализа был сделан вывод, что песок имеет вулканическое происхождение. NASA даже фотографию подножия гавайского вулкана приложило, чтобы было понятно о том, что за грунт они исследовали. Даже на Земле в этом грунте будет сложно найти органические вещества.
p.s. я свой закрыл
Давайте объективно: предположения о том, что это очередной распил не подтвердились, делает томская IT компания на свои деньги.
Никто никого из Украинских собственников не кидал, а постарались сделать в данных условиях хоть как-то легитимно.
Проект делается для того, чтобы местным айтишникам и приезжим людям было где общаться, чтобы было место и возможность работать, а также место где можно было проводить обучение и конференции.
Я думал, что это благие цели, и подобные начинания нужно поощрять.
P.S. Чтобы не было срывов покровов, сразу отпишу, что лично знаю и работал с Алексеем.
само переключением проходит для пользователя практически незаметно, потому что для проекта написаны скрипты так, что сервисы без необходимости не рестартятся, временные файлы необходимые для бесшовного переключения, остаются, сессии и прочее хранится в БД, а переключение симлинки проходит очень быстро…
Cейчас в системе деплоя около 30 проектов, итого около 50 планов деплоя (на 1 проект, может быть несколько планов деплоя: в проектах может быть несколько сервисов: веб, апи, поддомены с бета версиями или лендингами/промо сервисами), которые постоянно выкатываются на продакшен. На раных проектах из языков/фреймворках используются: yii, symfony2, самописный фреймворк, node js, 1 веб сервис полностью на java. Различные хранилища и модули.
конфиги nginx — шаблон кастомных реврайтов настроек
настройки окружения — xml файл с настройками (использовать ssl или нет, делать ли редирект по умолчанию с домена на домен с www, на какие директории делать и куда делать симлинки, на какие директории нужно заново выставить какие то права), какую версию и какой пул php использовать, какие дополнительные домены парковать к этому сайту
конфиги cron
анализатор конфигов проекта — скрипты редактирующие/генерирующие конфиги проекта, в зависимости от окружения…
И генерирует на основе них файлы конфигурации для продакшен окружения удаляя старые…
Конечно же, иногда приходится дорабатывать под проект, конкретные стадии деплоя индивидуально
Некоторые проекты могут просить жесткий ребут php-fpm, можно сделать это мягко и использовать для проекта 2 пула php-fpm, перезагружая их по очереди, или может быть рестарт мемкешд, где то нужно прежде работать с composer, но это уже лирика…
Кстати, конкретно у нас есть еще система преддеплоя/тестирования, которая фактически делает тоже самое, но с дебаг режимом, логированием тестов и работает автоматически при каждом коммите в транк разворачивая все это на тестовом сервере, поэтому если что-то явно сломается или скрипты не отработают — будет видно сразу…
Примерно так, с порядком может быть напутал, потому что писал по памяти, а реализацию писали больше 1.5 лет назад
Подробнее в разделе помощи
Дайте ссылку на extension!
В остальных направлениях поддержка и потчевания на лаврах.
к тому же способы ломать через java, flash, другие плагины, уязвимости никто не отменял…
чтобы нормально поиграть в какую нибудь годную игрушку приходилось разбираться с настройками своей железки, иначе либо не запускалось, либо тормозило, либо что-то не работало…
и начинались:
вечные меню для unPnP устройств, где нужно было указывать модель чипа, совместимость, прерывания и прочее…
раскуривание конфигов…
разбор логов запуска или падения…
заставляло изучать технологии))