May. 10th, 2007
Два дня потратил на изготовление билд-скриптов, дабы на входе - репозиторий svn и пустой сервер баз данных, а на выходе - готовый к использованию юзерами инсталлятор. Чуть не сошел с ума. Столько всяких тупых мелочей - сдуреть можно. 160 мег безумных файлов, только для того, чтобы создать инсталл.
Создается инсталлятор совершенно дикой последовательностью bat-файлов, sql скриптов, вызовов компилятора для прог и для вспомогательных утилит, затем запуском этих утилит, причем практически все файлы обновляются перед использованием из svn.
Язык скриптов инсталлятора(NSIS) - полная жёппа. Судя по структуре, сначала сделали простую паковалку с минимумом функций, потом оказалось что нужно много больше и начали лихорадочно добавлять, в итоге получилось чорт знает что. Почему-то кажется, что библиотека классов для обычного языка программирования, автоматизирующая действия по инсталляции + пакователь файлов в большой бинарник-инсталлятор было бы намного проще и логичнее.
Но работает. Добавил плагин для инсталляции сервиса Firebird, четыре часа осознавал, как сделать кастомное окно для ввода паролей к серверу, крутил всяко разно вариации сборки инсталлятора - в итоге добился, что эта хрень за 10 минут ставится на чистой машине.
С заказным ПО возникает иллюзия, что софт поставить очень быстро - приехал к клиентам, поставил и все. А как смотришь - так там огромное количество действий, которые, когда вручную делаешь, просто выполняются уже на автомате и не замечаются. А вот как это все пришлось формально описать - башка кругом идет.
И так, по-моему, со всеми процессами - что каждый день делается - незаметно, 5 секунд работы на подготовленном рабочем месте и на автопилоте, параллельно с остальными делами. А попытаешься передать/объяснить/показать кому-то еще - полдня на написание инструкций и объяснения уйдет.
Т.е., нормально (устойчиво, независимо от того, упадет ведущему спецу на голову кирпич или нет) можно работать, только сознательно замедлив работу до приемлемого для нормальных людей (которые не имеют опыта решения безумных проблем в произвольное время суток в течение 10 лет) темпа.
Создается инсталлятор совершенно дикой последовательностью bat-файлов, sql скриптов, вызовов компилятора для прог и для вспомогательных утилит, затем запуском этих утилит, причем практически все файлы обновляются перед использованием из svn.
Язык скриптов инсталлятора(NSIS) - полная жёппа. Судя по структуре, сначала сделали простую паковалку с минимумом функций, потом оказалось что нужно много больше и начали лихорадочно добавлять, в итоге получилось чорт знает что. Почему-то кажется, что библиотека классов для обычного языка программирования, автоматизирующая действия по инсталляции + пакователь файлов в большой бинарник-инсталлятор было бы намного проще и логичнее.
Но работает. Добавил плагин для инсталляции сервиса Firebird, четыре часа осознавал, как сделать кастомное окно для ввода паролей к серверу, крутил всяко разно вариации сборки инсталлятора - в итоге добился, что эта хрень за 10 минут ставится на чистой машине.
С заказным ПО возникает иллюзия, что софт поставить очень быстро - приехал к клиентам, поставил и все. А как смотришь - так там огромное количество действий, которые, когда вручную делаешь, просто выполняются уже на автомате и не замечаются. А вот как это все пришлось формально описать - башка кругом идет.
И так, по-моему, со всеми процессами - что каждый день делается - незаметно, 5 секунд работы на подготовленном рабочем месте и на автопилоте, параллельно с остальными делами. А попытаешься передать/объяснить/показать кому-то еще - полдня на написание инструкций и объяснения уйдет.
Т.е., нормально (устойчиво, независимо от того, упадет ведущему спецу на голову кирпич или нет) можно работать, только сознательно замедлив работу до приемлемого для нормальных людей (которые не имеют опыта решения безумных проблем в произвольное время суток в течение 10 лет) темпа.