お疲れ様です!
2.6系のrubyのサポートが3月末まで、そしてrails7のアップデートに2.7以上のバージョンを入れる必要があるので、rubyのバージョンを2.6系から2.7系にアップデートした話。初めてのrubyアップデート作業が割と緊急度高くてやれやれだぜ。
環境
- rails 6.1.4
- ruby 2.6.8 → 2.7.5にバージョンを変更
バージョンアップ手順
- 公式リリースの確認
- bundler、gemをアップデートしておく
- CI通っているか確認(更新前)
- rubyのバージョンに関連するファイルの修正
- rubyのインストール
- CI通っているか確認(更新後)
- レビューしてもらう
公式リリースの確認
公式のリリース情報を確認して、どんな修正が行われたか確認します。今回の例ですと、メジャーバージョンアップの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.初めての作業は誰でもドキドキするもんだぜ