at posts/single.html

tDiary 5.0.7 + Ruby 2.5.0へ更新

この日記 のtDiaryとRubyを最新版にアップデートした。

サーバのインフラはDockerで動かしているので、アップデートもGitHubベースで管理できる。実質的にはGemfileとDockerfileを更新している。

まずはローカル環境 (macOS) のRubyを最新版にアップデートする。

$ brew upgrade rbenv
$ brew upgrade ruby-build
$ rbenv global 2.5.0

tDiaryのバージョンを指定しているGemfile.lockを最新版にする。

$ cd machu-jp/tdiary/app
$ bundle update

これでGemfile.lockが更新されてtDiaryの5.0.7を使うようになった。

 GIT
    remote: https://github.com/tdiary/tdiary-contrib.git
 -  revision: 596d83919497a4ad42bd408960f52fc389f6ec16
 +  revision: a40096d3fb487a38619e8f24d11367ae59b50238
    specs:
 -    tdiary-contrib (5.0.6)
 -      ruby-pushbullet
 +    tdiary-contrib (5.0.7)
 +      pushbullet_ruby
        tdiary
  
  GIT
    remote: https://github.com/tdiary/tdiary-core.git
 -  revision: cf2112645803a5c1ad62f552cdb84bc76ba6e030
 +  revision: 25390d4bb69b50097f2819574660aaceecb978d0
    specs:
 -    tdiary (5.0.6)
 +    tdiary (5.0.7)

次にDockerfileを編集して、Ruby 2.5.0を使うようにする。

 -FROM ruby:2.4
 +FROM ruby:2.5
  MAINTAINER MATSUOKA Kohei @machu
  
  RUN mkdir -p /usr/src/app && \

git commit, git pushして変更内容をGitHubへプッシュする。コミットメッセージを間違ってtdiary-5.0.6にしていた…。

upgrade to tdiary-5.0.6 and ruby-2.5.0 · machu/machu-jp@1cc9c33 · GitHub

ここまでできたら、あとはDockerを動かしているサーバ (さくらのVPS) でDockerイメージを更新する。

$ cd src/machu-jp/
$ git pull origin master
$ cd tdiary
$ docker-compose build
$ docker-compose up -d

これでtDiary 5.0.7 + Ruby2.5.0へのバージョンアップはおしまい。dockerの本来の使い方的にはデプロイ先でイメージを作るのではなく、事前にイメージを作っておくのが正解なんだろうけど。