Я привык определять гемфайлы с помощью простых команд, таких как gem 'devise'
.Сейчас я запускаю мое приложение через докеризованный контейнер на AWS вместе с конвейером, который извлекает и создает новые контейнеры на основе проталкиваний в мою основную ветку на Git.Это означает, что каждый раз, когда я нажимаю новую версию, AWS будет перестраивать все приложение с нуля, а также устанавливать все последние версии гемов.
У меня есть некоторые опасения относительно того, что произойдет, когда появятся новые версии.драгоценных камней.Это, конечно, может означать, что мой код может перестать работать, если включенные самоцветы изменят свое поведение или методы.
Какова лучшая практика в этом случае?Должен ли я начать явно определять, какие версии Gems я хочу?И если да, то как мне получить прибыль от предоставленных исправлений?
Я рассматриваю определение всех моих драгоценных камней следующим образом:
gem 'devise', '~> 4.6.0'
# Or
gem 'devise', '~> 4.6'
Что бысамое гибкое, но "гарантирующее", что я не столкнусь с какими-либо проблемами в долгосрочной перспективе?