HEROKUでRailsアプリを新スタックに移行作業したときのメモです。次の移行作業は数年後になりそうなので忘れないようにメモしておきます。数年後に有効かどうかはわかりませんが。
ビルドに失敗してよくわからなくなったので、実際の作業はHEROKU上の設定をすべて削除して新規作成、デプロイメントしてしまいました。そのため、すべての手順を検証はしていないです。
今回は特に何もしなかったのですがバックアップ等必要に応じてしたほうが良いでしょう。あとHEROKU CLIのプラグイン、Heroku Buildsを入れておくと何かと助かるかもしれません。フリーズした場合、ビルドをキャンセルしたいときに役に立つかもしれません。
ダッシュボード等からアプリをメンテナンスモードに設定しておきます。作業中の不要なアクセスを避けられます。
Heroku-18に移行する場合の手順になります。
$ cd [project-directory] $ heroku create --remote heroku-18 --stack heroku-18 [app-name] $ heroku buildpacks:add --index 1 --remote heroku-18 heroku/jvm $ heroku buildpacks:add --remote heroku-18 heroku/ruby
環境変数等設定が必要であればheroku config:setコマンドで設定しておく。
このあたりはオプションのはず。DBは同じものを使い続けられたと思いますが新しくしてもよければ新規作成する。
$ heroku addons:create heroku-postgresql
新規にDBを作成した場合は、データの移行をしておく。必要なければスキップ。
$ heroku addons $ heroku pg:copy [old-db] [new-db] --app [app-name] 必要かもしれない $ heroku pg:promote [new-db]
$ git push heroku-18 master $ heroku run rake db:create --app [app-name] # 不要かも $ heroku run rake db:migrate --app [app-name]
ダッシュボード等からアプリを削除しておけば良いと思います。DBも古いものは必要に応じて削除しておきます。