概要
Herokuに最小のFlaskアプリをデプロイするまでの手順を記載します。
前提条件
- Herokuに登録していること
- Heroku CLI が導入済みであること
- 仮想環境は利用しない
- 下記がインストールされていること
- flask(pip install flask、または、pip3 install flask)
- gunicorn(pip install gunicorn、または、pip3 install flask)
手順
必要なリソースを作成
プロジェクトファイル置くディレクトリを作成し、ディレクトリに移動する。
$ mkdir flaskonheroku
$ cd flaskonheroku
必要なファイルを作成する。
$ touch app.py Procfile
app.py を下記の通り編集する。
# -*- coding: utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello, world'
if __name__ == '__main__':
app.run()
Procfile を下記の通り編集する。
web: gunicorn app:app --log-file=-
ローカル環境で動くか確認
$ python app.py
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
アドレスにアクセスし、問題なければOK。
デプロイに必要なファイルを作成
requirements.txtを作成する。
$ pip freeze > requirements.txt
gitリポジトリの準備
gitリポジトリとして初期化する。
$ git init
$ git add .
$ git commit -m "first commit"
Herokuアプリの作成
Herokuにログインしてアプリを作成する。
$ heroku login
$ heroku create
Herokuへアプリをデプロイ
リモートリポジトリが作られているので、プッシュする。
$ git remote
heroku
$ git push heroku master
アプリの確認
アプリを開いて確認する。
$ heroku open
以降、コードを修正しcommitした後、git push heroku master すれば再度デプロイされて変更がサイトに反映されます。