herokuでデプロイ時に自動でスクリプトを実行する
プロジェクトがデプロイされた際に自動で、実行したいタスクってありますよね?
例えば、DBのマイグレーション処理や初期データの追加など
それらを実現する方法のメモ
デプロイ時に自動でタスクを実行する
git push heroku master
のタイミングで、デプロイと同時に実行されるように設定できます。
ものすごく簡単です。
Procfile
に少し追加するだけです。
以下にDjangoの場合の例を記します。
release: python manage.py migrate
web: gunicorn config.wsgi
Procfile
にrelease: ~~
と加えることで~~
部分のコマンドが実行されます。
release: ./release.sh
web: gunicorn config.wsgi
みたいに書いて任意の処理を実行させることもできます。
./release.sh
部分は他のコマンドでもOK
herokuのdyno上で実行できるコマンドなら何でもできます。
ちなみに、release:
に書いたコマンドの実行に失敗するとデプロイも中断されるので、安全です。