コピペでできる! Non-Docker mastodon アップデート 2.4.3→2.6.5
毎回間のアップデートを色々飛ばしてやった結果失敗しているので今回は丁寧に一つ一つ上げていきます。
作業時間がかかるかもしれませんが、僕みたいな初心者サーバー管理は一つ一つ確認した方がいいです。
変なエラーが出て直す時間を考えると丁寧にやったほうが結果として早く終わります。
実際今回はダウンタイムほぼ無しでできました。
それではやっていきましょう。
アマゾン商品データの取得に失敗しました
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にアップデートしたカラス系インスタンス、カラスタンスをよろしくね!
ディスカッション
コメント一覧
まだ、コメントがありません