メドピア開発者ブログスマートフォン用の表示で見るメドピア開発者ブログ集合知により医療を再発明しようと邁進しているヘルステックリーディングカンパニーのエンジニアブログです。今回は、アップグレードを行った手順や躓いた部分を今更感もありますが紹介いたします🙌アップグレードまでの道のりまずはバージョンアップまでに行ったことの概要を下記にまとめました。updateで依存Gemを含めて、アップグレードを行いました。app:updateをとりあえず全てyesで実施して、危なそうな部分を戻す対応を行いました。影響が大きそうだった差分だけ下記に記載しておきます👀bin/rails、bin/rakeでspringをロードしないような変更が入っていたので反映しませんでした。active_storage、test_unit関連の設定ファイル追加及び既存ファイルへの更新は、使用していないので反映しませんでした。config/application.rbのconfig.load_defaultsを5.2に変更しました。bootsnapは開発環境のみで動くようにし、本番での使用は一旦様子見しました。主な修正は下記のようなところでした。INを使って行うように修正しました。methodの警告が発生するようになりました。Post.order('RAND()')MedPeerでは固定の文字列を渡している箇所でのみ発生していたので、Arel.sqlで対応しました。Post.order(Arel.sql('RAND()'))テストの無い管理画面に立ち向かう今回railsのバージョンを上げると同時に管理画面で使っているadministrateというgemのバージョンも大きくあがりました。end社内の検証環境にデプロイして、動作確認テストのある部分はテストを全て通し、ない部分については先述の仕組みで確認したあと、ディレクターさんにも協力して頂き、業務上クリティカルな箇所について手で検証しました。今回はマイナーバージョンアップということで、普段使っている本番相当の検証環境にバージョンアップを反映して検証を行いました。最後にバージョンアップの際に行ったことを整理して、KPTで振り返りを行いました。以下が出てきた内容の抜粋です🙇Keep管理画面のテストを最低限ではあるが、自動的に行うことが出来た。updateで1年半程更新していないものもあった。railsのバージョンアップによる依存関係の解消時に大きくバージョン上げる必要があったため、検証負荷が高くなってしまった。バージョンアップ用の環境を用意しておらず通常開発と同じ環境でバージョンアップの検証も行っていたため、通常開発業務の検証の際にバージョンアップを切り戻すといった作業が必要でメンテナンス負荷が高く、現状の検証環境のrailsのバージョンを把握しづらかった。TryGemfileを読み解く会を開催し、経緯を理解した上で外せるものはバージョン固定を外す。updateのタイミングで見直す等の仕組み化を行う。VersionUpのときは専用の環境を用意する。5.2にバージョンアップした話でした。SREの侘美(たくみ)です。chromeを利用したファイルダウンロードのテスト方法についてこんにちは。メドピアのRuby(Rails)化をお手伝いしている@willn...2019-04-26RubyKaigi2019にプラチナスポンサーとして参加しました!👉🍻サーバーサイドエンジニアのhirapi(@chmv71)です。エンジニアの宮原です。月別アーカイブリンク医師専用サイト「MedPeer」エンジニア採用はこちら!スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。