通常通りにheroku create
でアプリを作成するとHeroku-18というものが入るらしくこやつがruby2.3系に対応していないらしい。
やったこと
- プロジェクトに
app.json
ファイルを作成して中に"stack": "heroku-16"
を記述 - curlでherokuのアプリを作成
コマンド
curl -n -X POST https://api.heroku.com/app-setups \
-H "Content-Type:application/json" \
-H "Accept:application/vnd.heroku+json; version=3" \
-d '{"source_blob": { "url":"https://github.com/アップしたいリポジトリ名/tarball/master/"} }'
そうするとidがついたresponseが返ってきます。そこからidをいただいて
curl -n https://api.heroku.com/app-setups/レスポンスに含まれるid \
-H "Content-Type:application/json" \
-H "Accept:application/vnd.heroku+json; version=3"
とします。今回のレスポンスに
output_stream_url
というのがあるのでそこからdeployのログを追うことができます。
app.jsonファイルを作ってなかったりするとレスポンスのエラーメッセージにファイルがないよと教えてくれるのでわかります。
ruby2.3を使うことは少ないかもしれませんがメモとして残します。