コピペでできる! Non-Docker mastodon アップデート 2.4.3→2.6.5

2019年11月4日IT,mastodonmastodon

毎回間のアップデートを色々飛ばしてやった結果失敗しているので今回は丁寧に一つ一つ上げていきます。

作業時間がかかるかもしれませんが、僕みたいな初心者サーバー管理は一つ一つ確認した方がいいです。

変なエラーが出て直す時間を考えると丁寧にやったほうが結果として早く終わります。

実際今回はダウンタイムほぼ無しでできました

それではやっていきましょう。

アマゾン商品データの取得に失敗しました

2.4.3→2.4.4

2.4.4へ2.4.0より古いところからアップデートするときは、2.4.1にアップデートしてから2.4.4にするように指示があります。

今回はバージョン2.4.3からなので問題ないですが、古いバージョンの方は気を付けてください。

間を飛ばすとうまく動かなくなるアップデートはmastodonではけっこうあります。(僕は毎回それに引っかかって爆死してます。)

古いバージョンの人は気を付けてください。

git pull

git fetch && git checkout v2.4.4

bundle install

RAILS_ENV=production bundle exec rails db:migrate

2.4.5

2.4系最後のアップデートです。2.5にアップデートする前におかしなところが無いか確認してからやった方がいいです。

このアップデート終了後にサイトを確認して挙動を確認しておきましょう。

たぶんここ飛ばすとおかしな感じになると思います。

git fetch && git checkout v2.4.5

エラーが起きたら

git fetch

git stash
git checkout v2.4.5
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

2.5.0

なんか絶対バックアップしろって書いてありますね

2.5系になって色々変わるので準備が必要です。

今回はnode_jsのバージョンアップを行う必要があります。

また、取り扱いデータサイズが大きくなるのでnginxの設定も書き換えます。

まずnodeのバージョンを上げます。

立ち上げの時にnodeを入れたユーザーとディレクトリで

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash –

sudo apt update && sudo apt install nodejs

nodeのアップデートは終わりです。

mastodonのユーザ、ディレクトリに戻って

git fetch

git stash
git checkout v2.5.0
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

yarn install

SKIP_POST_DEPLOYMENT_MIGRATIONS=true

RAILS_ENV=production bundle exec rails db:migrate

RAILS_ENV=production bundle exec rails assets:precompile

mastodonの全サービスをリスタートさせます。

sudo systemctl restart mastodon-*

RAILS_ENV=production bundle exec rails db:migrate

ここでnginxサーバーの設定を変えます。

sudo emacs /etc/nginx/sites-available/crows.tokyo (ここは自分のサイトのやつで)

server{} 内31行目を書き換え(40mか、それより大きい数)

client_max_body_size 40m;

保存後、nginxを再起動

sudo systemctl restart nginx

2.5系はアップデートするとUIがけっこうかわるので色々確認してみてください。

2.5.1

特につまずく場所はないのでいつもの流れでできると思います。

fetch

git stash
git checkout v2.5.1
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

2.5.2

2.5系mastodon最後のアップデートです。

毎回アップデートを失敗してて思うのですが、こういうところで重要な変更がされている事が多い気がしますね。

リースノート上は特に重要そうな事が掛かれているわけではないのですが、いったんこのアップデート後に動いているか確認しておきましょう。

ここでおかしな挙動をしていたら直してから次に進んだ方がいいと思います。

特にstashで重要なファイルを退避させていたりしてちゃんとここまでのアップデートがあたっていないとかあるかもしれません。

git fetch

git stash
git checkout v2.5.2
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

2.6.0

2.6.0はわりと大きめのアップデートです。このバージョンではrubyのアップデートが必要になります。2.5.3となっています。

rubyの古いバージョンを入れて放っておいた方向けのコマンドも記載しているので参考にしてください

アップデートせずに使用バージョンを変える方法もありますが、普通にアップデートでいきたいと思います。

git fetch

git stash
git checkout v2.6.0
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

ここでrubyのアップデートを行います。

2.5.3に対応したbundlerも忘れずにインストールしてください。

cd ~/.rbenv/plugins/ruby-build
git pull origin master

rbenv install 2.5.3

rbenv exec gem install bundler

rbenv rehash

cd ~/live

rubyのアップデートをせずにbundleしたりすると怒られて次にすすめません。

bundle install

yarn install

RAILS_ENV=production bundle exec rails db:migrate

RAILS_ENV=production bundle exec rails assets:precompile

mastodonをリスタート

sudo systemctl restart mastodon-*

2.6.1と2.6.2

2.6.1以上へのアップデートは2.6.0を通した方が安全そうです。

2.6.0より低いバージョンからアップデートする際は必ずprecompileとmastodonのリスタートが必要になります。

2.6.2へのアップデートは2.6.1と同じ方法でできます。

git fetch

git stash
git checkout v2.6.1
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

yarn install

RAILS_ENV=production bundle exec rails db:migrate

RAILS_ENV=production bundle exec rails assets:precompile

mastodonをリスタート

sudo systemctl restart mastodon-*

2.6.3と2.6.4

ここは正直飛ばしていい気がします。

小さなアップデートだけですし、migrateなどの重要な変更が入っていません。

2.6.5までアップデートするなら必要ありません。

git fetch

git stash
git checkout v2.6.4
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

mastodonをリスタート

sudo systemctl restart mastodon-*

2.6.5

やっとたどり着きました。

ここまでちゃんとアップデートできているか確認しましょう。

また、最後にミスしてもアレなので注意してやりましょう。

git fetch

git stash
git checkout v2.6.5
git commit -a -m ‘tmp’
git stash pop
git reset HEAD^

bundle install

こんな時はどうする?

stashで退避させたファイルがなんかよくない

git checkout バージョン そのファイル名

これで上書きできます。設定ファイルでこれやると全部消えるので気を付けてください。

まとめ

リリースノートを読もう

アップデートは間を飛ばさず一つ一つやろう

というわけで、2.6.5にアップデートしたカラス系インスタンス、カラスタンスをよろしくね!

https://mdn.crows.tokyo/

広告