LoginSignup
10
11

More than 3 years have passed since last update.

Google App Engine + Flask(Python3)で「Hello Flask!!」してみた part2 ~デプロイする~

Last updated at Posted at 2019-04-29

この章では、Flaskを用いたプログラムをデプロイしていきます。
Google Cloud SDKの準備が終わっていることが前提になります。終わっていない人は、part1を参考に作業を進めてください。

実装する

以下のコマンドで新規のファイルを作成しましょう。

$ mkdir [新規ファイル名]
$ cd [新規ファイル名]

そして以下のファイルを作成していきます。*マークがついているファイルを作成していきます。お好きなエディタでどうぞ。

[新規ファイル名]
 ├─templates
 │  └─main.html*
 ├─main.py*
 ├─app.yaml*
 └─requirements.txt*

main.html

クライアント側を作成していきます。今回は「Hello Flask!!」と表示するだけです。

main.html
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Hello Flask!</title>
    </head>
    <body>
        <h1>{{ hello }}</h1>
    </body>
</html>

main.py

Flaskを利用してmain.htmlファイルに「Hello Flask!!」を渡します。

main.py
from flask import Flask,render_template

app = Flask(__name__)

@app.route('/')
def hello_flask():
    hello = "Hello Flask!!"
    return render_template('main.html', hello = hello)

if __name__ == '__main__':
    app.run()

Flaskの説明に関しては今回は記述しません。知りたい方は以下の記事を参考にしてください。

Flaskの簡単な使い方

app.yaml

環境やサービス名などを記述するファイルになっています。このファイルがデプロイ記述子となるので必ず作成しましょう。

app.yaml
runtime: python37
env: standard
service: flask-test
entrypoint: gunicorn -b :$PORT main:app

App Engineの設定はこのファイルで行うことが多いみたいです。

app.yaml リファレンス  |  Python の App Engine スタンダード環境  |  Google Cloud

requirements.txt

Flaskとgunicornがインストールされるように設定しましょう。

flask
gunicorn

デプロイする

これでデプロイの準備が完了しました。実際にデプロイしていきます。

$ gcloud app deploy
Services to deploy:
・
(省略)
・
Do you want to continue (Y/n)?  y
・
(省略)
・
Deployed service [flask-test] to [https://flask-test-dot-[プロジェクト名].appspot.com]

You can stream logs from the command line by running:
  $ gcloud app logs tail -s flask-test

To view your application in the web browser run:
  $ gcloud app browse -s flask-test

こんな感じで表示されれば成功です。
実際に「 https://flask-test-dot-[プロジェクト名].appspot.com 」にアクセスしてみましょう。
helloflaskdeploy.JPG
これでデプロイ完了です。

まとめ

今回は、GAEを利用してFlask環境のプログラムをデプロイしました。インフラの知識はほとんどありませんが、比較的簡単にデプロイできたと思います。無料枠もあるのでこれからもどんどん利用していこうと思います。閲覧ありがとうございました。

参考文献

PythonのFlaskアプリをGoogle App Engineにデプロイしてみた

10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11