LoginSignup
23
15

Deta Cloud→Deta Space仕様変更後のPythonアプリのデプロイ方法

Last updated at Posted at 2023-02-19

無料のクラウドサービスDeta Cloudが、Deta Spaceへと仕様変更されました。2023/2/14、バレンタインデーの日にアナウンスされています。
https://deta.space/from-cloud

この記事では、仕様変更後のPythonアプリのデプロイ方法について、簡素なサンプルアプリを例として説明します。

Image from Gyazo

初回デプロイ方法

アカウント登録

公式サイト(https://deta.space/)でアカウントを作成します。

Access Tokenの取得

作成したアカウントでログインしAccess Tokenを取得します。

まず、ログイン後のダッシュボード画面下方の検索ボックスからSettingをクリックします。
image.png

Generate Tokenをクリックします。
image.png

表示されるランダムな英数文字列(青色部分)をコピーしておきます。このTokenはアプリを開発するための情報のため、他人には共有しないでください。
image.png

補足:画面をCloseすると、Tokenは再確認できません。再度、Generate Tokenをクリックし、異なるTokenを再発行してください。

デプロイするアプリの準備

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

main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"Hello": "ahhhhh!"}
requirements.txt
fastapi==0.70.0

CLIのインストール

コマンドラインで、Spaceコマンドを利用するために、専用のCLIをインストールします。

Windowsの場合

iwr https://get.deta.dev/space-cli.ps1 -useb | iex

Macの場合

curl -fsSL https://get.deta.dev/space-cli.sh | sh

space login

Spaceコマンドで、Deta Spaceへログインします。デプロイしたいアプリのディレクトリ(main.pyとrequirement.txtを格納しているディレクトリ)でspace loginを実行します。

space login

Access Tokenの入力を求められます。発行したAccess Tokenの入力してEnterします。

image.png

ログインに成功すると「👍 Login Successful!」が表示されます。

space new

Spaceコマンドで、プロジェクトという単位(アプリごとに作成するもの)を作成します。デプロイしたいアプリのディレクトでspace newを実行します。

space new

アプリの名前を問われます。自由に入力してEnterします。デフォルトではフォルダ名が入力されます。
image.png

この設定で実行しますか?と問われます。そのままEnterします。
image.png

Spacefileを編集:公開設定

space newのあと、いくつかファイルが自動生成されます。
そのうちの「Spacefile」というファイルを編集します。
一番下にpublic: trueを追加します。これが他の人でもアクセスできる設定です。

# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0
v: 0
micros:
  - name: testapp
    src: .
    engine: python3.9
    primary: true
    public: true

space push:WEB公開

ソースコードをアップロードします。デプロイしたいアプリのディレクトでspace pushを実行します。

space push

成功すると、以下のような表示が出力されます。
Image from Gyazo

青文字の部分が発行されたURLです。
以上のステップで、だれもがアクセス可能な状態でWEB公開されます。

space release:アプリのリリース

スマホアプリのような、インストール可能なアプリをリリースすることも可能です。
デプロイしたいアプリのディレクトでspace releaseを実行します。

space release

space pushしたバージョンの中で最新のものをリリースしますか?と問われます。そのままEnterします。
image.png

成功すると、以下のような表示が出力されます。
image.png

アプリへのアクセス

space releaseの出力結果に表示されている赤枠のURLにアクセスします。

image.png

Install Appをクリックします。
image.png

View on Canvasをクリックします。
image.png

アプリのアイコンをクリックします。
image.png

表示されました。
image.png

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

ソースコードを修正したのち、space pushを再度実施することで、修正版ソースコードをデプロイできます。
さらに、space releaseのプロセスを再度実施することで、修正版のアプリをデプロイできます。

一般ユーザーがアプリにアクセスする方法

一般ユーザーがアプリにアクセスするには、そのユーザーもDeta Spaceのアカウントを作成する必要があります。アプリ作成者は、一般ユーザーにspace releaseの出力結果に表示されている赤枠のURLを共有します。

image.png

一般ユーザーが、提供されたURLにアクセスします。Install on Spaceをクリックすると、Deta Spaceのアカウント情報の入力を求められます。

image.png

ログイン後、前述の「アプリへのアクセス」と同様の手順を実施します。

自著の内容変更に関するお知らせ

著書のブロックチェーン開発教本(私が制作したもの)もDetaを使っていたので、本番デプロイに関する情報を補足しました。著書の場合はDetaへAPIとしてデプロイしていたので、代替サービスとしてRenderを推奨する形にしました。

書籍↓

補足↓

23
15
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
23
15