LoginSignup
26
25

クラウドサービスRenderを利用したPythonアプリの無料デプロイ方法

Last updated at Posted at 2023-02-19

クラウドサービスRender(https://render.com/)を利用した、Pythonアプリを無料でデプロイする方法を紹介します。簡易的なアプリを例に説明します。

1 デプロイするファイルの準備

今回はサンプルファイルとして以下2ファイルを利用します。

main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"Hello": "World"}
requirement.txt
fastapi==0.70.0
uvicorn==0.13

2 GitHubアカウント作成

まずは、GitHubのアカウントを作成してください。
https://github.com

3 GitHubへのソースコードのアップロード

次にGitHubへのソースコードのアップロードします。ログイン後 https://github.com/new へアクセスします。

下記画像のように、Repository nameに好きな名前を入力します。Add a README fileにチェックします。その後、Create repositoryをクリックします。

image.png

Add fileUpload filesをクリックします。

image.png

オレンジのエリアにmain.pyrequirement.txtをドラッグアンドドロップし、Commit changesをクリックします。

image.png

4 Renderアカウントの作成

Renderのアカウントを作成します。
https://dashboard.render.com/

5 RenderとGitHubの連携とデプロイ

ログイン後、Newをクリックし、Web Serviceをクリックします。

image.png

Connect GitHubをクリックし、作成したGitHubのアカウントと連携します。

image.png

All repositriesを選択し、Saveをクリックします。

image.png

デプロイしたいRepositoryのConnectをクリックします。

image.png

Nameに好きな名前を入力します。Regionは想定される利用者に近いエリアを選択します。

image.png

Start Commanduvicorn main:app --host 0.0.0.0 --port 10000を入力し、価格はFreeを選択し、Create Web Serviceをクリックします。

image.png

In ProgressLiveになったらデプロイ完了です。左上のURLからアプリケーションにアクセスできます。

image.png

アクセスした画面

image.png

6 ソースコード修正時の再デプロイ方法

GitHubにログインし、右上のアイコンからYour repositoriesをクリックします。その後、アップロード先のRepository名をクリックします。

image.png

Add filesUpload filesをクリックします。

image.png

オレンジのエリアにソースコード修正済ファイルをドラッグアンドドロップし、Commit changesをクリックします。

image.png

Renderで自動的にデプロイ処理が開始されます。Renderのダッシュボード(https://dashboard.render.com/)にアクセスします。Deploy in progressDeploy Succeededに変わったらデプロイ完了です。

image.png

補足:無料枠の公式説明

さいごに

ブロックチェーン開発教本(私が制作したもの)では、Detaを使っていたのですが、2023/2/14の仕様変更(Deta Cloud→Deta Space)に伴い、代替サービスとしてRenderを推奨する形にしました。

26
25
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
26
25