herokuでデプロイ時に自動でスクリプトを実行する

プロジェクトがデプロイされた際に自動で、実行したいタスクってありますよね?

例えば、DBのマイグレーション処理や初期データの追加など

それらを実現する方法のメモ

デプロイ時に自動でタスクを実行する

git push heroku master

のタイミングで、デプロイと同時に実行されるように設定できます。

ものすごく簡単です。

Procfileに少し追加するだけです。

以下にDjangoの場合の例を記します。

release: python manage.py migrate
web: gunicorn config.wsgi

Procfilerelease: ~~と加えることで~~部分のコマンドが実行されます。

release: ./release.sh
web: gunicorn config.wsgi

みたいに書いて任意の処理を実行させることもできます。

./release.sh部分は他のコマンドでもOK

herokuのdyno上で実行できるコマンドなら何でもできます。

ちなみに、release:に書いたコマンドの実行に失敗するとデプロイも中断されるので、安全です。