さて、コードの更新も終わったし、デプロイするよ! git push heroku master
…あれ?なにかエラーが。おかしいな?前回のビルドはうまく行ってたと思うのにな。
そういうこともありますよね。これまでのビルドやリリースのログを見直してみましょう。
この記事は、Heroku Advent Calendar 2017の12月9日の記事としてお送りします。昨日は kimihom さんが Rails 5.1 アプリを Heroku にデプロイしていました。Yarnむずかしーやーん。
heroku builds:output
heroku-buildsプラグインをインストールすることでビルドの振り返りをできるようになります。
$ heroku plugins:install heroku-builds
$ heroku builds -a アプリ名
で最近のビルドのリストが見られます。
=== アプリ名 Builds
6cdfedd0-7554-4712-b265-8f5bd43c3db2 2017/12/06 19:35:31 +0000 (~ 24h ago) d33becaac5663b49c252ce5197d53b9ee3abbab2 zundan@gmail.com
b2ee4ad8-b1e4-4ebd-a99f-fe891e7286e1 2017/12/03 06:16:14 +0000 3966e855563192cc68664036df2724daef00e804 zundan@gmail.com
7aba112b-9cd7-4828-b7a9-324132408672 2017/11/30 06:59:40 +0000 884b9a4803e459f2fa7f92005de2d8dddc29278b zundan@gmail.com
:
ビルドログを見るにはbuilds:output
。どのビルドか指定しなかった場合には最新のもの(ビルドが進行中の場合は進行中のビルドからのログ)が見られます:
$ heroku builds:output -a アプリ名
:
Webpacker is installed 🎉 🍰
Using /tmp/build_b379c03c645fb9e8df51ac8ec5e10788/…d33beca/config/webpacker.yml file for setting up webpack paths
Compiling…
(ここで時間がかかるんだよねー)
以前のビルドを眺めるにはUUIDを指定します:
$ heroku builds:output b2ee4ad8-b1e4-4ebd-a99f-fe891e7286e1 -a アプリ名
:
-----> Compressing...
Done: 383.5M
-----> Launching...
! Warning: Your slug size exceeds our soft limit (383 MB) which may affect boot time.
Released v266
https://アプリ名.herokuapp.com/ deployed to Heroku
heroku releases:output
コードをデプロイするとデータベースのマイグレーションが必要になることもある。Release Phaseで自動化しちゃいましょう。
あ、マイグレーションのログを見ておくのを忘れた。そんなときにはreleases:output
が使えます。リリースバージョンを指定しなかった場合には最新のものが確認できます。
$ heroku releases:output v313 -a アプリ名
:
Migrating to CreateInvites (20171125024930)
== 20171125024930 CreateInvites: migrating ====================================
-- create_table(:invites)
-> 2.2660s
-- add_index(:invites, :code, {:unique=>true})
-> 0.0386s
== 20171125024930 CreateInvites: migrated (2.3054s) ===========================
:
CLIが充実してるのいいよね。