HerokuのStackをCedar-14からアップグレードする
1,はじめに
Herokuで運用しているアプリがある。
そのうちの1つについて、Herokuからメールが来た。
The Heroku Cedar-14 stack was previously deprecated on May 3, 2018, and the end-of-life (EOL) window has now begun in accordance with Heroku’s stack policy. Your Heroku account has one or more apps running on the Cedar-14 stack.
2019/05/02 at 03:16 by Heroku ( stack-feedback@heroku.com )
すなわち、アプリを動かしているインフラ基盤のサポートを終了したいから、あなたが動かしているアプリの動作環境を更新してくださいとのことだ。
あれ、一度デプロイすればずっとほったらかしでいいのがHerokuのいいところじゃなかったけ?
メールを読むと、どのようにアップグレードするのか書いてある。
2,では、更新しよう
更新は「Upgrading to the Latest Stack | Heroku Dev Center」に記載されている手順に基づき行う。
アップグレードの方法は、HerokuのCLIから行う方法と、ダッシュボードから行う方法の2つが用意されている。
わざわざCLIを叩くのは面倒くさいので、ダッシュボードから更新を行う。
Upgrading via Dashboard
To upgrade via the Heroku Dashboard, navigate to your app settings page. Click the Upgrade Stack button. Confirm that you want to upgrade, which will set the stack to the latest version. You will see that the stack upgrade is pending; the upgrade with take affect on the next deploy.
Upgrading to the Latest Stack | Heroku Dev Center
(1)Herokuにログインしてアプリ一覧を表示する
Herokuにログインし、アプリ一覧の画面を表示する。
今回メールでインフラ基盤のアップグレードを求められたアプリは上から3番目の「Groupinger」である。
(2)アプリのダッシュボードを表示する
アプリ名をクリックすると、ダッシュボード画面が表示される。
このダッシュボードの中にある「Settings」をクリックする。
すると、下記のような画面が表示される。
(3)設定画面からインフラ基盤を更新する
上記で表示した「Settings」画面を下にスクロールすると下記の項目が表示される。
ここに「Upgrade Stack」ボタンがあるので、それをクリックする。
クリックすると下記の様な確認画面が表示される。
注意書きを読んだ上で「Confirm」ボタンを押下する。
You are about to upgrade to the
https://dashboard.heroku.com/apps/groupinger/settingsheroku-18
stack. You will have to redeploy your app for the change to take effect.
すなわち、次回のデプロイからHerokuのインフラ基盤が更新されますよ、ということである。
「Confirm」ボタンを押下すると、アプリの設定画面の記載が変化する。
変化した記載は次の通りである。
heroku-18 will replace cedar-14 on the next deploy
https://dashboard.heroku.com/apps/groupinger/settings
すなわち、次回のデプロイの際にインフラ基盤を更新する、ということである。
(4)アプリのデプロイを行う
アプリごとのダッシュボード画面の「Deploy」をクリックし、デプロイ画面を表示する。
このページを下の方にスクロールしていくと「Manual deploy」の項目がある。
ここから、手動でのデプロイができる。
なお、本アプリケーションはGitHubと連動させているため、こういうことができるのであり、Heroku CLIからデプロイしているような通常のアプリの場合、このデプロイ手法は使えないと思われる。
では、「Deploy Branch」ボタンを押下する。
GitHubからソースコード一式が読み取られ、ビルドが行われた。
そして「Your app was successfully deployed.」と表示され、デプロイが正常に完了した。
(5)インフラ基盤の更新の確認
デプロイ実行後にアプリの「Settings」ページを確認する。
「Stack」の表示が「cedar-14」から「heroku-18」に変化している。
以上で、Herokuのインフラ基盤の更新は完了である。
3,おわりに
一度デプロイすれば後のことはほったらかしでいい。
そう考えていた時期が僕にもありました。
インフラ周りのことを考えずに、アプリ開発に集中できる。
そう考えていた時期が僕にもありました。
ですが、現実は違うのです。
こういう形で、アプリを動かす基盤の更新等をしないといかんのですよ・・・
まぁ別にいいけど。
業務アプリの場合、インフラ更新に伴う非互換がないかのテスト等の実施が想定されるが、heroku-18とcedar-14の違いもよくわからない。
こういうPaaSで業務アプリを動かすのは少し怖いかな、なんてね。
最近のコメント