lizard run
プロジェクトシークレットとサービスシークレットを注入した状態で、ローカルでコマンドを実行します。
run が注入するもの
lizard run はプロジェクトのシークレットを読み込み、その上にサービスのシークレットを重ねて、それらを環境に入れた状態で手元のマシンでコマンドを実行します。
- アプリサービスの場合は、保存されている値を注入します。
${{postgres.DATABASE_URL}}のような参照は、解決された値ではなく、その文字列のまま渡されます。PORTやLIZARD_*などのプラットフォーム変数は注入されません。 - アドオン(
--service postgres、--service redis、--service s3)の場合は、DATABASE_URLなどのアドオンの実際の接続値を注入します。
そのため、マイグレーションやデータベースクライアントをローカルで実行するときは、--service にはそれを参照するアプリではなく、アドオンを指定してください。
実行中のサービスへの lizard ssh は無効になっています(API は 403 “Shell access to services is disabled” を返します)。実行中のアプリが受け取る内容を確認するには、次を使います:
| 確認する内容 | コマンド |
|---|---|
| 空の参照 | lizard logs --build --service api(ビルドログは、空の値に解決されたすべての ${{…}} 参照について警告します) |
| 保存されている値 | lizard secrets list --service api --show |
| アドオンの実際の接続値 | lizard run --service postgres -- printenv DATABASE_URL |
使い方
lizard run [flags] -- <command>フラグ
| フラグ | 説明 |
|---|---|
-s, --service <name> | 環境変数を注入する対象のサービス(既定はリンク済みのサービス) |
--no-service | サービス環境変数を注入せず、プロジェクトシークレットのみを注入する |
-p, --project <id> | プロジェクト(既定はリンク済みのプロジェクト) |
例
Managed Postgres に対してマイグレーションを実行する
lizard run --service postgres -- node scripts/migrate.js注入された環境変数を表示する
lizard run --service postgres -- printenv DATABASE_URLアプリの保存済みシークレットを使ってローカルツールを実行する
lizard run --service api -- node scripts/report.js関連項目
- lizard ssh:サービスへのシェルアクセスが無効になっている理由と、その代わりに使うもの
- lizard secrets:
runが注入する値の一覧表示と設定 - 変数:プロジェクト変数とサービス変数の定義方法および参照方法
- Pythonアプリホスティング:デプロイ済みデータベースに対して
manage.pyやその他のフレームワークツールを実行する方法
更新日