Rails gems updaten
Zo vroeg en vaak mogelijk
- continu nieuwe updates
- kwetsbaarheden, bugs of verouderde features
- Rails upgraden is gemakkelijker
- compatibility en deprecation warnings
- vaker updaten kost minder tijd
Tools/gems
- Gemnasium
- bundler
- bundler-audit
- bummr
Gemnasium
- houdt dependencies in de gaten
- notificaties van updates en gevaarlijke dependencies
- automatisch updaten
- alle dependencies in één overzicht
- betaald
Bundler
-
bundle update of gem update kan risicovol zijn
- alle nieuwste versies ophalen, zonder de effecten te weten
- welke gem is de oorzaak?
- bundle outdated
- één voor één gems updaten, tests draaien, committen (bummer)
- https://isitvulnerable.com/
Bundler
-
nieuwe CLI opties sinds 1.14
-
aangeven naar welke versies bundle update zal updaten
-
niet teveel versies vooruit springen
-
niet meer gems updaten dan gevraagd
Bundler
- bij bundle update/outdated aangeven welke versie de voorkeur heeft
- --patch, --minor, --major
- niet bindend
- onverwachte versies
- --strict optie
- '~> 1.0' == --minor --strict
- bundler-patch voor oudere bundler versies
- --conservative update geen shared dependencies (versienummers in gemfile)
- --source
bundler-audit
- gem die checkt voor gem versies met security issues
- onveilige gem sources (http://)
- laat ook advies zien
- ruby-advisory-db
$ bundle audit
Name: actionpack
Version: 3.2.10
Advisory: OSVDB-91452
Criticality: Medium
URL: http://www.osvdb.org/show/osvdb/91452
Title: XSS vulnerability in sanitize_css in Action Pack
Solution: upgrade to ~> 2.3.18, ~> 3.1.12, >= 3.2.13
bummr
- gem één voor één updaten; committen
- tijdrovend, maar betrouwbaarder
- bummr update gems automatisch in losse commits
- logt informatie van falende builds en verwijdert deze commits, totdat de build slaagt
- standaard branch is master