完成しててメンテしてないコードをそのまま放置してたら お知らせメールが来てた... ので対応した
たとえコードが完成したとしてもインフラや OS など、周りの環境は変化を続ける
内容はほぼお知らせメールの案内に記されてる通り
やったこと
やったことは おおまかに次の通り:
- プラグインのインストール
- 対象アプリのリストアップ
- ローカルに Heroku アプリを clone (任意)
- Stack のアップグレード
- 空コミットの push
プラグインのインストールと対象アプリのリストアップ
heroku apps:table
プラグインの機能を使うと Stack の属性値で絞り込み検索ができるらしい
heroku plugins:install apps-table heroku apps:table --filter="STACK=cedar-14"
すでにお知らせメールが来ている通り、対象のアプリがいくつか挙がった
App Name Stack Team licensedownload cedar-14 null quiet-dusk-76044 cedar-14 null ...
ローカルに Heroku アプリを clone (任意)
長らくメンテしてないアプリだったので、手元の環境にソースコードがなかった
heroku git:clone
でリモートからローカルに git リポジトリを転送してもらう
# オプションの -a [application name] でアプリ名を指定する heroku git:clone -a licensedownload
(アプリが複数ある場合 必要な部分は同様に繰り返し操作する)
Stack のアップグレードと空コミットの push
利用する Stack の設定を更新する (現行の旧版から新しいバージョンに切り替え)
heroku stack:set heroku-18 -a licensedownload
Stack の設定変更をしても、実際の実行環境の差し替えはつぎのコミットから有効になるので、取り敢えず空のコミットを差し込む
# 空コミットの作成 git commit --allow-empty -m "Upgrading to heroku-18" # Heroku 環境にデプロイ git push heroku master
このとき、利用しているプログラミング言語のバージョン指定も旧いままで、あたらしい Stack では対応していない場合がある
その場合は対応したバージョンにアップグレードしておきたい (Ruby の場合: Heroku Ruby Support - Supported runtimes)