【Python】Python × Djangoのアプリをherokuにデプロイする

2019年4月7日

この記事は以下の記事を続きでherokuにデプロイする方法を記載します。

※この記事ではPython × Djangoのアプリをherokuへデプロイしますが、Djangoアプリ内のコードは特に説明しません。

herokuの始め方

アプリ情報

言語:Python 3.7.0

フレームワーク:Django 2.1.4

heroku環境用ファイルを用意する

herokuでアプリをホスティングする際は以下3ファイルが必要になります。

runtime.txt

アプリで実行するPythonを指定します。以下のように記載します。

python-3.7.0

Procfile

herokuでアプリを起動する際にの実行ファイルです。以下のconfig.wsgiの部分を自身のDjangoアプリ内のwsgi.pyを指定します。(私のアプリ内では/config内にwsgi.pyを配置しているため、このように記載しています。)

web: gunicorn config.wsgi --log-file - --workers 1

requirements.txt

アプリ実行のために必要なPythonパッケージをheroku環境にインストールするためのファイルです。django-herokuというherokuでDjangoをホスティングするために必要なパッケージがまとめられているパッケージがありますので、こちらを記載します。また、WEBサーバとしてgunicornを記載しています。(Procfileでもgunicornコマンドで起動しています)

以下のパッケージに加えて、ご自身のアプリに必要なパッケージの記載を追加してください。

gunicorn==19.6.0
django-heroku==0.3.1

herokuへアプリをデプロイする方法

herokuへアプリをデプロイするのは非常に簡単です。herokuアプリ(herokuコマンドなどで作成したheroku内のアプリのこと)ではアプリごとにgitリポジトリを持っています。デプロイはこのgitリポジトリに先ほど作成したファイルも含めて、全てのソースコードをプッシュすれば良いです。

herokuへプッシュするには以下コマンドを実行します。

git push https://heroku:"APIキー"@git.heroku.com/"アプリ名".git master

“APIキー”と”アプリ名”をそれぞれ自身のものに置換してください。APIキーはheroku管理画面のアプリ設定に記載されています。

最後に

herokuへのDjangoアプリデプロイはheroku用のファイルを追加して、gitリポジトリへプッシュするのみなので非常に簡単です。(特にデプロイがgitリポジトリにプッシュするだけというのがめちゃくちゃ良いと思います!)

この記事が皆様の参考になれば幸いです。