ruby

rubyのバージョンをアップデートした話

お疲れ様です!

2.6系のrubyのサポートが3月末まで、そしてrails7のアップデートに2.7以上のバージョンを入れる必要があるので、rubyのバージョンを2.6系から2.7系にアップデートした話。初めてのrubyアップデート作業が割と緊急度高くてやれやれだぜ。

環境

  • rails 6.1.4
  • ruby 2.6.8 → 2.7.5にバージョンを変更

バージョンアップ手順

  1. 公式リリースの確認
  2. bundler、gemをアップデートしておく
  3. CI通っているか確認(更新前)
  4. rubyのバージョンに関連するファイルの修正
  5. rubyのインストール
  6. CI通っているか確認(更新後)
  7. レビューしてもらう

公式リリースの確認

公式のリリース情報を確認して、どんな修正が行われたか確認します。今回の例ですと、メジャーバージョンアップの2.7、マイナーアップデートの2.7.1~2.7.5には目を通しておきましょう。更新後に、CIが落ちた時などのヒントになります

bundler、gemをアップデートしておく

rubyを更新する前に、古めのgemは更新しておく

現在installしているバージョンと最新のバージョン差を以下のコマンドで確認出来ます

bundler outdated 

特定のgemをアップデートしたい時は以下のコマンド

bundle update gem名

bundle updateで特定のgemのみアップデートする記事

アップデートするgemによっては既存のコードを修正する必要があるので、gemアップデート用のブランチで作業した方が良いかもです

CI通っているか確認(更新前)

rubyのアップデート前にCI通っているか確認しておきましょう。アップデート後にCIが通らなかった場合、問題の切り分けが出来ます

rubyのバージョンに関連するファイルの修正

rubyのバージョンを管理している各々ファイルを修正します

主にcircleciや、rubocop、.ruby-versionのファイルです。ここは案件によりけり

rubyのインストール

rbenvを使って、バージョンを指定し、rubyをインストール rbenvのインストール方法

brew update 
brew upgrade ruby-build
rbenv install --list ※安定版のrubyのリストが表示される
rbenv install 2.7.5

ruby2.7.5はbundlerのバージョンを2.1.4以上にあげておく必要があるっぽいのでアップデート

gem install bundler -v 2.1.4
bundle install --path=.bundle/2_7_5

CI通っているか確認(更新後)

ローカル環境で動作確認して、問題なさそうであれば、pushしてCIを回す

CIも問題なく通れば、上手く行ってそう。ここまで来たら一安心出来ますな。

レビューしてもらう

CI通ったら、レビュー出して問題ないか確認してもらう。

approveされたらマージして、デプロイ!

おしまい

ps.初めての作業は誰でもドキドキするもんだぜ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です