2023.03現在、サービスのメジャーアップデートにより、従来の方法(以下記載のもの)での新規アプリ作成はおそらく不可能となりました。
はじめに
Herokuの無料プランの廃止に伴い、flaskで作成したアプリのデプロイ先として新たに開拓する。
deta.shにデプロイが出来たので、その手順を紹介する。
※注意
ファイル構成に関してさらっと書いておく。
Herokuにデプロイできる状態であれば、まず以下の手順を行います。
生成されるmain.py
を削除し、app.py
やrun.py
などのメイン実行ファイルのファイル名をmain.py
に変えます。
基本はこの状態でデプロイできるはずです。
インストールが必要なライブラリに関してはrequirements.txt
に記載します。
CLIのインストール
CLIをインストールするために以下のコマンドを実行する。
Windowsは、コマンドプロンプトでは動かない動かないのでPowerShellを使用する。
iwr https://get.deta.dev/cli.ps1 -useb | iex
curl -fsSL https://get.deta.dev/cli.sh | sh
これを実行すると、deta
コマンドが使えるようになる。
ログインする
deta.sh のJoin Deta
からアカウントの作成アカウントの作成とメールアドレスの認証を行う。
完了したら以下のコマンドを実行する。
deta login
実行するとブラウザが開き、Logged in successfully.
と表示されればログイン完了。
アプリを作成する
アプリを作成するために適当なディレクトリに移動し、以下のコマンドを実行する。
app_test
の部分には、作成するアプリを識別するための名前を付ける。
deta new --python app_test
実行すると以下のようにURLなどが表示される。endpoint
がアプリのURLとなる。
Successfully created a new micro
{
"name": "app_test",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"project": "xxxxxxxx",
"runtime": "python3.9",
"endpoint": "https://xxxxxx.deta.dev",
"region": "us-east-1",
"visor": "disabled",
"http_auth": "disabled"
}
実行したディレクトリ直下に、アプリのディレクトリ /app_test
が作成され、その中にmain.py
が作成される。これが実行ファイルとなる。
また必要なライブラリ等の情報はrequiremente.txt
に記入し、同じディレクトリに設置する。
ここまで出来たら、cd
コマンドでアプリのディレクトリに移動し、デプロイを実行する。
deta deploy
以下の表示が出たら完了。先ほどのendpoint
に記載のURLにアクセスすることでアプリを使用できる。
Deploying...
Successfully deployed changes
pythonのバージョンバージョンを最新以外に指定するときは以下のようにdeta new
を実行する。
deta new --runtime pytyhon3.7
デプロイ時の注意点(実際に引っかかったところ)
私がHerokuのアプリをdetaにデプロイしなおした際に、Bad Gateway
エラーで表示できないページがあった。調べてみたところ、URLにマルチバイト文字を含む際にエラーとなることが分かったので、注意。
参考