Оновлення версії Rails за сім кроків

2 хв. читання
13 листопада 2017

Цей посібник створено на основі досвіду оновлення версій Rails на клієнтському проекті: включно з основним оновленням (4.х до 5) та мінорним оновленням (5.0 до 5.1).

  • Він може застосовуватися для малих та середніх проектів, коли оновлення може виконуватись не на основній гілці.
  • Якщо у вас велика команда і розгалуження неможливе, ознайомтеся з досвідом Shopify або Nulogy team.

Передумови

Під час оновлення вам потрібен автоматизований механізм для виправлення помилок та внесення змін. У нашому випадку це:

  1. Автоматизований набір тестів – хороший інструмент для виявлення критичних змін та перевірки їх виправлення.
  2. CI build – налаштуйте його так, щоб він запускався під час додавання коммітів до неосновної гілки.

Сім кроків

1. Створіть порожній застосунок Rails app (нової версії), пізніше ми використаємо його для порівняння.

2. Створіть нову гілку:

  • Додавайте коміти після кожного кроку, щоб CI білд виявляв критичні зміни.
  • Об'єднуйте та переміщуйте гілки час від часу.

3. Оновіть геми:

  • Додайте нові геми – скопіюйте їх з Gemfile порівняльного застосунку.

  • Оновіть rails gem – він зазвичай видає помилку у випадку незареєстрованих гемів.

  • Обробіть незареєстровані геми:

    • Оновіть гем, використавши версію, яку підтримує нова версія Rails.
    • Видаліть гем, якщо він більше не використовується в новій версії Rails.

4. Запустіть rails app:update, щоб оновити config/bin файли.

  • Відкрийте порівняльний застосунок поруч в текстовому редакторі.
  • Коли rails app:update виконає запит на зміну файлу, відредагуйте його вручну в текстовому редакторі, порівнюючи з таким самим файлом у порівняльному застосунку.

5. Виправте всі помилки.

  • Спершу вимкніть попередження про застарілий синтаксис, щоб вони не заповнили CI build:
# config/application.rb
...
require "rails/all"  # Одразу після цього рядка

ActiveSupport::Deprecation.silenced = true
  • Створіть нову гілку, щоб виправити одну помилку за раз.

6. Виправте попередження про застарілий синтаксис.

  • Увімкніть попередження про застарілий синтаксис.
  • Створіть нову гілку, щоб виправити кожне попередження.

7. Об'єднайте з головною гілкою.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.5K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація