ローカル開発用サーバー(dev_appserver.py
)は、gcloud CLI の App Engine コンポーネントの一部です。ここでは、dev_appserver.py
の使用方法を詳細に説明します。ローカルテストの詳細については、ローカル開発用サーバーの使用方法をご覧ください。
ローカル開発用サーバーツールをセットアップする
dev_appserver.py
コマンドの例を以下に示します。
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
次のように置き換えます。
- DEVAPPSERVER_ROOT は、
devapp_server.py
のアーカイブ バージョンを抽出するルート ディレクトリへのパスに置き換えます。アーカイブ バージョンのdev_appserver.py
のダウンロードと使用の詳細については、ローカル開発用サーバーの使用をご覧ください。 - OPTION は、ローカル開発用サーバーでサポートされているフラグに置き換えます。
- FILES は位置引数
yaml_path
に対してサービスごとに 1 つずつ、1 つ以上のapp.yaml
ファイルを指定します。
オプションの一覧を表示するには、次のコマンドを実行します。
DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h
一般的なオプション
特に一般的なオプションは次のとおりです。
--admin_host=ADMIN_HOST
- ローカル開発用サーバーの管理コンソールのバインド先となるホスト名(デフォルト: localhost)。
--admin_port=ADMIN_PORT
- ローカル開発用サーバーの管理コンソールがバインドするポート(デフォルト: 8000)。
--enable_sendmail=yes|no
- メール メッセージの送信にローカル コンピュータの Sendmail を使用します。
--enable_task_running=yes|no
- 開発用サーバーが push タスクを実行できるようにします。デフォルトは
yes
です。no
を指定すると、サーバーは push タスクを実行しません。 --help
- コマンドの簡単な説明を出力して終了します。
--host=...
- サーバーに使用するホストアドレス。この設定は、ネットワーク上の別のコンピュータから開発用サーバーにアクセスできるようにするために必要になることがあります。アドレスを
0.0.0.0
にすると、localhost アクセスと IP またはホスト名アクセスの両方が可能になります。デフォルトはlocalhost
です。 --log_level=...
- コンソールにロギング メッセージを出力する最小ロギングレベル。指定したロギングレベル以上のメッセージが出力されます。有効な値は
debug
、info
、warning
、error
、critical
です。 --port=...
- サーバーに使用するポート番号。デフォルトは
8080
です。サービスなどのために複数のサーバーが起動されると、後続のポート番号が割り当てられます(例:8081
、8082
)。 --logs_path=...
- デフォルトでは、ローカル開発用サーバーログはメモリだけに格納されます。ローカル開発用サーバーを実行するときにこのオプションを指定すると、ログがファイルに保存されるため、サーバーを再起動した場合でもログを参照できるようになります。SQLite データベース ファイルのディレクトリ パスと名前を指定する必要があります。ファイルが存在しない場合は、指定した名前の SQLite データベース ファイルが作成されます。例:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
index.yaml
ファイル内のエントリの自動生成を無効にします。アプリケーションが、ファイルでのインデックス定義を必要とするクエリを実行し、インデックス定義が見つからなかった場合は、App Engine で実行した場合と同様に例外が発生します。デフォルト値はno
です。--smtp_host=...
- メール メッセージの送信に使用する SMTP サーバーのホスト名。
--smtp_port=...
- メール メッセージの送信に使用する SMTP サーバーのポート番号。
--smtp_user=...
- メール メッセージの送信に使用する SMTP サーバーのユーザー名。
--smtp_password=...
- メール メッセージの送信に使用する SMTP サーバーのパスワード。
--storage_path=...
--datastore_path
、--blobstore_path
、--logs_path
によりオーバーライドされない限り、すべてのローカル ファイル(Cloud Datastore、Blobstore、Cloud Storage のファイルやログなど)が保存されるパス。--support_datastore_emulator=yes|no
- ローカル データストアのエミュレーションに、Cloud Datastore エミュレータ(ベータ版)を使用します。
--datastore_emulator_port=...
- Cloud Datastore エミュレータ(ベータ版)に使用するポート番号。
--env_var=...
- ローカル ランタイム プロセス用のユーザー定義の環境変数。各
env_var
は key=value の形式で、複数の環境変数を定義できます。app.yaml
内のenv_variables
と同時にこのフラグを使用すると、ローカル プロセス用に特別な環境変数を設定できます。例:--env_var KEY_1=val1 --env_var KEY_2=val2
--go_debugging=yes|no
- delve または gdb でデバッグを有効にするには、yes に設定します。これにより、デバッグに必要なすべてのシンボルを含むアプリバイナリがビルドされます。通常は、
sudo dlv attach <pid>
などで、実行中のプロセスに接続できます。