行動すれば次の現実

テック中心の個人ブログ

HerokuアプリのStackを18から20にアップグレード

Herokuのstack-18からstack-20へのアップグレードしました。その際に行ったことをまとめましたので、ぜひ参考にしてみてください。

stackのアップグレードとは?

stackのアップグレードとはOSのバージョンアップのようなものです。 stackとは、Herokuで使用されるOSのイメージのことであり、Ubuntuなどの既存のオープンソースのLinux ディストリビューションが基になっています。

stackをアップグレードする前に必ずテストしよう

いきなりstackをアップグレードするのではなく、以下のいずれかの方法で動作確認してからアップグレードすることをオススメします。 私はステージングでアップグレードして動作確認を行いました。

  1. 既存のステージング環境または開発環境でアップグレードする
  2. 既存アプリを複製したテスト用アプリを作成してアップグレードする

アップグレード手順

1.アプリのstackにheroku-20を設定します。次のデプロイから適用されるようになります。

$ heroku stack:set heroku-20 -a <アプリ名>

2.デプロイ用の空コミットを作成します。

$ git commit --allow-empty -m "Upgrading to heroku-20"

3.デプロイします。

$ git push heroku master

stackをアップグレードしたら動作確認も忘れずに

アップグレード後は全ての機能が正常に動作するか一通り動作確認しましょう。

万が一、問題が発生した場合は以下の手順でロールバックを行います。

$ heroku releases -a <アプリ名>
v335  Deploy 0040f033
v334  Deploy 6448f534
v333  Deploy e424e234

以前のリリースバージョンを指定してロールバックします

heroku rollback v335

参考

Upgrading to the Latest Stack | Heroku Dev Center