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

arc deploy

arc deploy は blocklet を登録または公開します:開発用にローカルのデーモンへ登録するか、実際の公開のために DID Space(ローカルまたはリモート)へ公開します。

arc deploy は blocklet をデプロイし管理します。ローカルデーモンへの登録(開発用)と DID Space への公開(実際の配布用)の両方を担います。これは Cloudflare Pages へプッシュする arc blocklet deploy とは別物です。arc deploy が扱うのはローカルデーモンと DID Space です。

bash
arc deploy <path> [options]

グローバルフラグ(概要 を参照):--json--view--instance / -i(どのローカル ARC インスタンスか;省略すると default)、および --home(インスタンスのルート;どのインスタンスにするかを選ぶには --instance を使う)。

  • path:ローカルの blocklet ディレクトリパス、git+https://… の URL、または https://…/archive.tar.gz の URL —— 後者の 2 つ(リモートソース)は追加で --publish を必要とし、そうでなければ即座に Remote sources (git+url / http-url) require --publish. で失敗する

オプション

  • --publish:ローカルのデーモンに登録する代わりに、blocklet のコードをローカルの開発者 DID Space に公開する(ネットワーク/認証ゼロ);arc deploy show/list --published から見えるのはローカルに公開されたものだけ
  • --server <url>:ローカルではなくリモートの DID Space サーバーへ公開する。これは --publish を暗黙に含む;loopback の URL に対してであっても、常に認証(ブラウザフロー、キャッシュされた資格情報、または --token)が必要
  • --token <token>--server 用の bearer token。渡さない場合はインタラクティブなブラウザ認証フローが使われる。これは宣言され強制されています:--server なしで --token を渡すと、そのトークンを黙って無視するのではなく即座に失敗します ——両方一緒に渡すとこの検査を通過し、実際の処理に進みます —— ここで失敗するのはパスが存在しないからに過ぎず、この検査が「何でも拒否する」のではなく実際に判別していることを示しています:
  • --browser--server へ公開する際に認証フロー用のブラウザを開く(デフォルト true);無人実行では --token と一緒に --no-browser を渡す
  • --prerender:公開前に Web ページを .web-cache/ へプリレンダーする、arc blocklet buildARC_PRERENDER と同じもの;デフォルトで有効、無効にするには --no-prerender または ARC_PRERENDER=0 を渡す
  • --dry-run:登録、公開、フェッチのいずれも行わず、デプロイ計画だけを表示する

arc deploy <path> を単独で使うと、現在のデーモンセッションに対してのみ blocklet を登録して提供します —— 再起動を超えて残ることはありません。arc deploy 自体に --persist フラグはありません。arc service restart の後も blocklet のソースを復元させたい場合は、代わりにそれをインスタンスに記録してください:

bash
arc service start --blocklet /path/to/my-blocklet   # または: arc service restart --blocklet /path/to/my-blocklet

arc deploy --help より)

bash
arc deploy /path/to/my-blocklet                          # ローカルの blocklet を登録して提供する(インスタンスが起動中なら動的に追加される)
arc deploy /path/to/my-blocklet --dry-run                # preview a deploy without writing
arc service start --blocklet /path/to/my-blocklet        # record the source on the instance so it survives restart
arc deploy /path/to/my-blocklet --publish                # publish blocklet code to developer DID Space
arc deploy list                                          # list the default instance's registered blocklet sources
arc deploy list -i alice                                 # list only instance alice's registered sources
arc deploy list --home /path/to/instance                 # list sources of the instance registered at that home
arc deploy list --published                              # list blocklets published to DID Space
arc deploy show did:blocklet:z2x                         # read back files published to DID Space
arc deploy remove /path/to/my-blocklet                   # drop a source from the instance record; restart to apply

arc deploy list

追加登録されたすべての blocklet ソース、または DID Space に公開された blocklet を一覧表示します。

使用法

bash
arc deploy list [options]
  • --published:登録されたソースの代わりに、DID Space に公開された blocklet(blocklet-sources.json)を一覧表示する

bash
$ arc deploy list
Registered blocklet sources (via instance default):
No extra blocklet sources registered.
Tip: arc service start --blocklet <path>

arc deploy remove

インスタンスの記録から、登録済みの追加 blocklet ソースを 1 つ取り除きます(arc#6061;ホットな取り外しではなく —— 適用するには再起動が必要)。

使用法

bash
arc deploy remove <target> [options]
  • target(必須):取り除く対象の blocklet ディレクトリ、またはその親にある追加ソースディレクトリ

(accept path:target が実際に登録されている場合)

bash
$ arc deploy remove /path/to/my-blocklet
Unregistered /path/to/my-blocklet from instance default.
Restart with `arc service restart` to apply.

取り除く対象が何も登録されていない場合は reject path で、exit 1 です:

bash
$ arc deploy remove /path/to/my-blocklet
ERROR: Error: "/path/to/my-blocklet" is not a registered extra source on instance default.
Registered: (none)

arc deploy show

blocklet について、開発者 DID Space に公開されたファイルを読み返します。

使用法

bash
arc deploy show <did> [subpath] [options]
  • did(必須):検査対象の blocklet DID、または裸の id
  • subpath:公開されたツリー内の任意のパス