Ruby on Railsをアップデートした話

サービスのホスティングをしているherokuからRubyのバージョンが古いとアップデートを促すメールが来た。 調べてみると、どうやら、このままだと数か月後にデプロイできなくなるという。 それは困るのでアップデートをすることにした。 現行 新 heroku-16 Stack heroku-20 Stack Ruby 2.3 Ruby 2.5.8 Ruby on Rails 4.2.6 Ruby on Rails 4.2.11.3 heroku-20 Stackの要件をコンパクトに目指す。 大まかな作業手順は確立していて、どんなGemを使っているのか、どんなコードを書いているのかで細かくわかれる。 アップデートの流れ Railsのアップデート 1回目のGemのアップデート この時点では大した変化なし Rubyのアップデート 2.3 -> 2.5だと破壊的な変更はないので特に悪影響出ず 2回目のGemのアップデート jQuery UIのファイル構成が変わって、画面が表示されなくなった。新しいパスを定義して無事起動するように 動作確認と不具合対応 各画面を開いて、表示が崩れていたり、動かない処理がないかの確認など 幸い、大きな問題はなかった デプロイテスト デプロイできるのかのテスト ここでメモリ消費量削減とパフォーマンス向上で導入していたビルドパックの対応状況があやしいことが発覚。あやしく見えただけで実は問題がなかった リリース いろいろやってきたことで、リリース自体は無事完了。準備は大事 アップデートの結果 Rubyの高速化の恩恵が非常に大きく、レスポンスが平均して1秒近く速くなっている。 あわせてタイムアウトが減った。 メモリ消費量の最大値が削減されて、システムリソースに余裕ができた。 一部ファイルアップロード機能の不具合が改善された。 どうやらGem由来の不具合だったらしい。 一週間強の作業でこの成果は大成功だろう。 課題 人力テスト テスト自動化が必要 Ruby on Rails 5とRuby on Rails 6 Gemの更新はもちろん、Rubyの変更もあり、コードに手を加える必要がある そこそこの規模感なのでそれなりの時間がかかるだろう はてさて、どうやっていこうか。

February 14, 2021 · Kei

Netlify CMSの導入

何だかままならいのでメモだけ。 既存のHugo製サイトにNetlify CMSを導入する。GitHubを使ってNetlify以外でのホスティングの場合 | tabosque.com Failed to persist entry: API_ERROR: Branch not found · Issue #4564 · netlify/netlify-cms 「NetlifyCMSのOAuth認証」Githubで失敗する件を解決した | 東京夜7時

February 13, 2021 · Kei

faviconを追加した話

faviconがないも寂しいのでfaviconを追加することにした。 dotgridで画像を作成する Favicon Generatorでfaviconを生成する static ディレクトリに生成したファイルを入れる デプロイ という手順で終わり。 dotgridは点を打った順番に線を引いてくれるタイプのソフトなので、絵が描けなくてもそれらしいものが作れて神! 参考 faviconを作る(HUGO) - Qiita

February 13, 2021 · Kei

ブログ作成

Hugo Netlify GitHub HTMLの生成はHugo、バージョン管理などはGitHub、ホスティングにはNetlify。 設定がややこしいところがあったものの、公式のドキュメントに従って進めていけば問題なし。 好きなエディタで書いて、git pushしたら記事が投稿できるのはなかなか面白い。 参考 Host on Netlify | Hugo この手順を踏めばOK 子猫を保護したので Hugo + Netlify を使って爆速で里親募集ページを作る - Qiita HugoとNetlifyで静的サイト構築するメモ(themeはsubmoduleを利用) - Qiita

February 13, 2021 · Kei