render.com

since 2021-06-30

  • GitHub または GitLab のリポジトリからウェブサイト・ウェブアプリをデプロイできる
  • 静的サイトは無料枠あり。ウェブアプリのインスタンスは 7USD/mo から。PostgreSQL は別途 7USD/mo から。
  • 7USD 払うつもりがあるなら Heroku よりお得だと主張しているようだ

Flask

https://render.com/docs/deploy-flask

  • 指示に従って https://github.com/render-examples/flask-hello-world を folk する
  • https://dashboard.render.com/ で New Web Service を選ぶ
  • GitHub アカウントに Render をインストールする画面が出る。ちょっと気持ち悪いが実行する。
  • Render のダッシュボードに戻り、自分の GitHub アカウントのリポジトリ一覧が出るので、さきほど folk した flask-hello-world を選ぶ。
  • Name に flask-hello-world を入れて、他はデフォルト。たぶん7日間フリートライアルがあるので Starter (7usd/mo) が選べている。デプロイ先は Oregon, USA または Frankfurt, Germany
  • 1分くらいで Live と表示される
  • 表示されている https flask-hello-world-xxxxx.onrender.com を開くと Hello, World! が表示される

コミットでデプロイ

  • これではつまらないので folk したリポジトリを作業環境に git clone する
  • app.py を開いて書き換えてみる
diff --git a/app.py b/app.py
index d82c51f..9ee127c 100644
--- a/app.py
+++ b/app.py
@@ -3,4 +3,4 @@ app = Flask(__name__)

 @app.route('/')
 def hello_world():
-    return 'Hello, World!'
+    return 'Hello, Render!'
  • git commit して git push origin master する
  • Render ダッシュボードに戻って Events タブを表示するとデプロイの開始と終了が確認できる
  • デプロイされたサイト xxxxx.onrender.com をみるとメッセージが更新されている

その他、確認できた機能

  • Log
  • Shell
  • Metrics
  • Disk = 追加購入しないと、デプロイするたびにストレージは初期化されるという話
  • Health Check Path
  • プルリクエストをレビューする
  • カスタムドメインの設定

内部アドレスを Shell から叩く

$ curl http://flask-hello-world-xxxxx:10000/
Hello, Render!

Python のバージョンやパスを確認

$ which python
/opt/render/project/src/.venv/bin/python

$ python -V
Python 3.7.10

Settings のいちばん下に「Delete Web Service」「Suspend Web Service」がある。

Suspend すると「Suspended by you. You are not billed for suspended services.」になる。

render.txt · 最終更新: 2021/06/30 14:20 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0