amakanでRuby 2.3.3を使うようにした

amakanでyarnを使うようにした - ✘╹◡╹✘ に引き続き、些細な改善を加えた。


変更内容

https://amakan.net/ ではこれまで Ruby 2.2.0 を利用していたが、特に 2.2.0 にこだわる理由もなかったので、Ruby 2.3.3 に変更した。

Serverkit

本番環境の構築には Serverkit を使っていて、そのレシピはこういう状態だった。

# web-server-recipe.yml
resources:
  - type: user
    name: alice
  - type: recipe
    path: serverkit/mysql-dependencies.yml
  - type: recipe
    path: serverkit/nokogiri-dependencies.yml
  - type: recipe
    path: serverkit/ssh.yml
  - type: recipe
    path: serverkit/nginx.yml
  - type: recipe
    path: serverkit/ruby.yml
  - type: recipe
    path: serverkit/node.yml

Ruby のバージョンに関する部分は serverkit/ruby.yml に記述されている。

resources:
  - type: rbenv_rbenv
    user: alice
  - type: rbenv_ruby
    dependencies: true
    global: true
    profile_path: /home/alice/.bashrc
    user: alice
    version: 2.2.0
  - type: command
    script: gem install bundler
    check_script: bundle --version
    user: alice

rbenv がなければ入れて、version 2.2.0 の Ruby がなければ入れて、更に bundler がなければ入れる、という内容になっている。これを 2.3.3 に変更して、以下のコマンドを実行すると反映される。

serverkit apply serverkit/web-server-recipe.yml --hosts=amakan-web-server

ちなみにこの場合は、ssh amakan-web-serverSSH可能な状態に設定しておく必要がある。

2.4.0-preview3

せっかくだから 2.4.0-preview3 を使おうとしたが、以下の理由で、Rails 5 にアップグレードするか新しい 4.x 系の activesupport がリリースされてからにすることにした。

  1. json 2.x 以降にしなければ ruby 2.4.0 が使えない
  2. 執筆時点で最新の activesupport 4.x は json 1.x に依存している

雑感

2.3.3 に変更したあと、PumaのCPU使用率が盛り上がりを見せることがあり、なぜか急激にレスポンスタイムが遅くなることがあった (普段の1000倍ぐらい)。キャッシュか何かかと疑ったが、そうだとすれば 2.2.0 に変更したときもそういう問題が起こるはずで、いろいろ考えてみたが理由はわからなかった。こういう調子でこのさき生きていけるのか不安。