blocklet deploy コマンドは、ローカル開発環境から実行中の Blocklet Server インスタンスに blocklet を直接プッシュするためのものです。これは、ステージング環境でのテストや本番環境への直接デプロイに不可欠です。このコマンドは、プロジェクトのバンドル、バージョニング、アップロードをワンステップで処理します。
デプロイには主に2つの方法があります。開発とテストのためにローカルサーバーにデプロイする方法と、ステージングまたは本番用にリモートサーバーにデプロイする方法です。
コマンドの使用法
deploy コマンドの基本的な構文は次のとおりです:
Basic Usage
blocklet deploy <directory> [options]<directory>: blocklet プロジェクトのルートディレクトリへのパスです。.を使用して現在のディレクトリを指定できます。
デプロイシナリオ
1. ローカルサーバーへのデプロイ
ローカルマシンで Blocklet Server を実行している場合、デプロイは簡単です。CLI は実行中のサーバーを自動的に検出し、操作のための一時的なアクセスキーを生成し、手動設定なしでデプロイを処理します。
これは、迅速な開発とテストに推奨されるワークフローです。
Deploying Locally
# まず、ローカルの Blocklet Server が実行されていることを確認します
blocklet server start
# blocklet プロジェクトに移動してデプロイします
cd /path/to/my-blocklet
blocklet deploy . --app-id <your-local-app-did>CLI は実行中のサーバーを見つけ、blocklet をデプロイし、使用した一時的なアクセスキーを無効にします。
2. リモートサーバーへのデプロイ
リモートサーバーへのデプロイには、サーバーのエンドポイントを指定し、認証情報を提供する必要があります。
方法 A: アクセスキーとシークレットを使用する
アクセスキーとシークレットがある場合は、コマンドラインオプションとして直接提供できます。この方法は、ユーザーの操作が不可能な CI/CD 環境に最適です。
Deploying with Access Keys
blocklet deploy . \
--endpoint https://my-server.arcblock.io \
--access-key 'your_access_key_id' \
--access-secret 'your_access_key_secret' \
--app-id z2qa9sD2tFAP8gM7C1i8iETg3a1T3A3aT3bQ方法 B: DID Connect を使用した認証
アクセスキーとシークレットを提供しない場合、CLI は DID Connect を使用して安全な認証プロセスを開始します。これは、開発マシンからの手動デプロイに使いやすい方法です。
Deploying with DID Connect
blocklet deploy . \
--endpoint https://my-server.arcblock.io \
--app-id z2qa9sD2tFAP8gM7C1i8iETg3a1T3A3aT3bQこのコマンドを実行すると、CLI は新しいアクセスキーを生成するために Web ページを開くように促します。DID Wallet で認証すると、キーは安全に CLI に送信され、同じアプリケーションへの将来のデプロイのためにローカルに保存されます。
このフローを以下に示します:

コマンドオプション
- --endpoint
string— リモート Blocklet Server の URL。リモートデプロイに必要です。 - --access-key
string— リモートサーバーでの認証用のアクセスキー ID。 - --access-secret
string— 認証用のアクセスキーシークレット。 - --app-id
string(required) — この blocklet がコンポーネントとしてデプロイされるルートアプリケーションの DID。これが提供されない場合、CLI はエラーをスローします。「--app-did」も使用できます。 - --mount-point
string— blocklet がアクセス可能になる URL パス(例:/my-component)。提供されない場合、blocklet のタイトルまたは名前からデフォルトが生成されます。 - --incremental
boolean— インクリメンタルデプロイを有効にします。CLI はローカルファイルのハッシュをサーバーと比較し、変更されたファイルのみをアップロードするため、プロセスが大幅に高速化されます。
デプロイの出力
デプロイ中、CLI は処理中のファイルに関するフィードバックを提供します。--incremental フラグを使用すると、どのファイルが新規、変更、または削除されたかが表示されます。
Example Deployment Output
ℹ Info: My Blocklet@1.0.0 を /path/to/my-blocklet からサーバー https://my-server.arcblock.io の My App にデプロイしようとしています。
ℹ Info: デフォルトの mountPoint を使用: /my-blocklet
ℹ Info: インクリメンタルモード、blocklet の差分を取得中...
ℹ Info: 名前: my-blocklet
ℹ Info: DID: z8iZp329XWHe7iMqtTVmFobb82E9CR4X3sKAU
ℹ Info: バージョン: 1.0.0
ℹ Info: 追加されたファイル: 2
- new-feature.js
- assets/icon.png
ℹ Info: 変更されたファイル: 1
- blocklet.yml
ℹ Info: 削除されたファイル: 0
⠙ my-blocklet をアップロード中...
✔ Success: My Blocklet@1.0.0 はサーバー https://my-server.arcblock.io の My App に正常にデプロイされました。デプロイが成功すると、blocklet はターゲットの Blocklet Server で実行されます。