Web Analytics Made Easy - StatCounter
Главная Блог GitHub обновляет Rails 6.0 с инкрементальным подходом

GitHub обновляет Rails 6.0 с инкрементальным подходом

GitHub обновляет Rails 6.0 с инкрементальным подходом

Rails 6.0

После запуска предварительной версии Rails 6.0 в течение нескольких месяцев в производстве, приложение GitHub было развернуто в официальном выпуске в прошлом месяце. Вчера GitHub поделился, как его команда по обновлению смогла осуществить плавный переход с Rails 5.2 на 6.0 всего через 1,5 недели после релиза.

Rails 6.0 был выпущен с несколькими удивительными функциями, включая почтовый ящик действий, поддержку нескольких баз данных, параллельное тестирование и многое другое в прошлом месяце. GitHub не только использует его, но и внес значительный вклад в этот релиз.

Было отправлено более 100 запросов на получение улучшений документации, исправлений ошибок, улучшений производительности. Его вклад также включал обновления для новых функций в структуре: параллельное тестирование и поддержка нескольких баз данных.

«Для многих участников GitHub это была первая отправка изменений в инфраструктуру Rails, демонстрирующая, что обновление Rails не только помогает GitHub внутренне, но и улучшает наше сообщество разработчиков» , - пишет GitHub в объявлении.

Подход GitHub

Подход GitHub к этому обновлению был постепенным. Вместо того, чтобы ждать финального релиза, он обновлялся каждую неделю, извлекая последние изменения из Rails master и проводя тесты для этой новой версии. Это позволило им быстро и рано выявить регрессию. Процесс еженедельного обновления также позволял легко находить эти регрессии, потому что они имели дело с коммитами за неделю.

GitHub теперь планирует использовать этот подход совместной разработки и в будущих выпусках. В нем было написано :

« Как только наша сборка для Rails 6.0 стала зеленой, мы объединили запрос на получение с мастером, и весь новый код, поступивший в GitHub, должен был бы перейти на Rails 5.2 и новейшую основную сборку Rails. Обновление каждую неделю работало настолько хорошо, что мы продолжим использовать этот процесс для обновления с 6.0 до 6.1.».

Следование этому подходу не только помогло улучшить приложение GitHub с точки зрения безопасности, производительности и новых функций, но также улучшило опыт работы с кодовой базой GitHub для его инженеров. Это вызвало дискуссию о Hacker News, в которой разработчики также рекомендовали использовать постепенный подход к обновлению своего приложения. Пользователь прокомментировал:

«Инкрементные обновления могут требовать больше времени для завершения, поскольку API может подвергаться рефакторингу многократно во многих версиях. Однако, уверенность в постепенном продвижении стоит ИМХО.

Если у вас недостаточно обширный набор тестов или плохой / недостающий процесс обеспечения качества (или оба!), Обновление большого взрыва будет чрезвычайно болезненным и очень подверженным ошибкам. Стоит идти в ногу со временем. Вероятно, не стоит обновлять ASAP после выпуска, но вы не хотите ждать слишком долго».

Другой пользователь добавил :

« … они могли бы подождать, но если у кого-то есть ресурсы для разработчиков, лучше действовать упреждающе, а не ждать официального релиза и внезапно пытаться обновить и столкнуться с множеством непредвиденных проблем».

Проверьте официальное объявление, чтобы узнать более подробно.