Капистрано (часть 2)
Главное преступление, на мой взгляд, которое сделали авторы капистраны — научили руби экосистему хранить код деплоилки в каталоге рельсового проекта.
Так просто кто-то придумал. Так написали в документации и все стали бездумно делать.
Капистрано как зависимость стала идти с кодом проектов. Поверх капистраны еще шли не менее уродливые плагины на капистрану под разные случаи деплоя. Все они были написаны в формате капистрановского DSL (я уже упоминал, что он явно не красивый и не удобный).
Конфиги капистраны хранились в проекте и раздували его. Да, обычно не сильно. Но все равно не приятно.
Посмотрев на эту дичь, и немного подумав, я сделал простой и очевидный вывод — Инструмент деплоя не имеет никакого отношения к проекту и находится в проекте не должен.
Так еще 15 лет назад, а то и больше, я выкидывал из проектов код деплоилки в отдельный каталог и репозиторий и жить становилось веселее всем.
1) Решения не смешивались
2) Читать код и поддерживать отдельный инструмент деплоя намного проще, когда тебе не мешают файлы основного проекта, которые находятся где-то рядом и хрен его знает где и как и что найти.
3) Команда разработчиков могла ничего не знать о капистране, и тонкостях деплоя. А им обычно и не надо об этом знать. Обычно разрабы в это нос совать не должны.
4) Я избавил окружение разработки и зависимости от лишнего мусора. Меньше кода — быстрее загрузка.
В общем одни плюсы со всех сторон. Да и при переключении на другую деплоилку не надо заботится о том, чтобы почтистить проект от капистраны. Ведь ее в проекте нет.
Post #454
90
- 👍 2