メインコンテンツへスキップ

Blocklet のデプロイ

blocklet deploy コマンドは、ローカル開発環境から実行中の Blocklet Server インスタンスに blocklet を直接プッシュするためのものです。これは、ステージング環境でのテストや本番環境への直接デプロイに不可欠です。このコマンドは、プロジェクトのバンドル、バージョニング、アップロードをワンステップで処理します。

デプロイには主に2つの方法があります。開発とテストのためにローカルサーバーにデプロイする方法と、ステージングまたは本番用にリモートサーバーにデプロイする方法です。

コマンドの使用法

deploy コマンドの基本的な構文は次のとおりです:

Basic Usage

bash
blocklet deploy <directory> [options]
  • <directory>: blocklet プロジェクトのルートディレクトリへのパスです。. を使用して現在のディレクトリを指定できます。

デプロイシナリオ

1. ローカルサーバーへのデプロイ

ローカルマシンで Blocklet Server を実行している場合、デプロイは簡単です。CLI は実行中のサーバーを自動的に検出し、操作のための一時的なアクセスキーを生成し、手動設定なしでデプロイを処理します。

これは、迅速な開発とテストに推奨されるワークフローです。

Deploying Locally

bash
# まず、ローカルの 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

bash
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

bash
blocklet deploy . \
  --endpoint https://my-server.arcblock.io \
  --app-id z2qa9sD2tFAP8gM7C1i8iETg3a1T3A3aT3bQ

このコマンドを実行すると、CLI は新しいアクセスキーを生成するために Web ページを開くように促します。DID Wallet で認証すると、キーは安全に CLI に送信され、同じアプリケーションへの将来のデプロイのためにローカルに保存されます。

このフローを以下に示します:

Deploy Blocklet

コマンドオプション

  • --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

bash
ℹ 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 で実行されます。

次のステップ: ストアにアップロード

blocklet がデプロイされ、テストされたら、Blocklet Store にアップロードして他のユーザーが利用できるようにする方法を学びましょう。

詳細を見る