2018/01/29

[Mastodon]CentOS7でMastodonを2.2.0 にアップデートする方法


はじめに

Mastodon 2.2.0 がリリースされましたね。

通常は、リリースノートに書いてある通りアップデートすればいいのですが、今回は Ruby を 2.5.0にバージョンアップすることが推奨とのことで手間取ったのでアップデート方法を残しておきます。 

環境は、CentOS 7の Non-Docker で、rbenv で Ruby のバージョンを管理しています。メディアは Amazon S3にて保存しています。

データベースのバックアップ

なにはともあれ、データベースのバックアップを取っておきます。万が一失敗した場合に復旧する手段を残しておかないといけないですからね。

データベースのバックアップは以下のように行います。デフォルト設定でMastodonをインストールしたなら、このコマンドがそのまま使えると思います。

$ su - mastodon
$ mkdir dbbackup
$ cd dbbackup
$ pg_dump --username=postgres --no-owner mastodon_production > prefix.`date +%Y%m%d_%H%M%S`.pgdump

アップデートに失敗した場合のリストア方法は以下の記事を参考にしてください。

 

Ruby のバージョンアップ

通常は、rbenv で Ruby 2.5.0 がリストに表示されないでしょうから、rbenv のアップデートを行う必要があります。

rbenv のアップデートは以下のコマンドを実行するだけでよいです。

$ cd "$(rbenv root)"/plugins/ruby-build && git pull

コマンドを実行後、以下のコマンドを実行すると、Ruby 2.5.0 がリストに加えられていることが分かります。

$ rbenv install --list | grep 2.5.0

  2.5.0-dev

  2.5.0-preview1

  2.5.0-rc1

  2.5.0

  rbx-2.5.0

以下のコマンドを実行し、Ruby 2.5.0 をインストールします(時間がかかります)。

$ rbenv install -v 2.5.0

現在の Ruby のバージョンを確認します。*が付いているのが現在のバージョンです。

$ rbenv versions         

  system

  2.4.1

* 2.4.2 (set by /home/mastodon/.rbenv/version)

  2.5.0

2.4.2ですね。これを2.5.0に切り替えます。

$ rbenv global 2.5.0
$ rbenv versions

  system

  2.4.1

  2.4.2

* 2.5.0 (set by /home/mastodon/.rbenv/version)

これで Ruby のバージョンアップは完了です。

 

Mastodon のアップデート

では、本丸のMastodonのアップデートを行います。まずは、以下のようにコマンドを実行して、v2.2.0 のソースコードを取得します。

$ su - mastodon  #必要なら
$ cd live
$ git fetch

 * [new tag]         v2.2.0     -> v2.2.0

From https://github.com/tootsuite/mastodon

 * [new tag]         v2.2.0rc1  -> v2.2.0rc1

 * [new tag]         v2.2.0rc2  -> v2.2.0rc2

$ git checkout v2.2.0

 

Ruby のバージョンを新しくしたので、bundle  をインストール後に bundle install を実行します(かなり時間がかかります)。

$ gem install bundler

$ bundle install

次に以下のコマンドを実行します。

$ yarn install

これが終わったらデータベースのアップデートを行います。

$ RAILS_ENV=production bundle exec rails db:migrate

次に以下のコマンドを実行します(時間がかかります)。

$ RAILS_ENV=production bundle exec rails assets:precompile

 次に以下のコマンドを実行します。

$ RAILS_ENV=production bundle exec rails mastodon:maintenance:remove_regeneration_markers

 最後に Mastodon のサービスを再起動してアップデート作業は終了です。

$ sudo systemctl restart mastodon-*

 

おわりに

今回のアップデートはなかなか手強いですが、この記事を参考にして頑張ってください。

 


スポンサーリンク


このエントリーをはてなブックマークに追加




Twitter ではブログにはない、いろんな情報を発信しています。


コメント

コメントを書く



プロフィール

  • 名前:fnya
    なんちゃってSE。

    フリーウェア、Webサービス開発のためにEntyまたはAmazonギフト券によるご支援をお願いしています。ご支援のほどよろしくお願いいたします。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。


    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ
    >>ブログ詳細

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから