dfx deploy (デプロイ)

ローカルの Canister 実行環境、Internet Computer プラットフォーム または指定したテストネットにアプリを登録、ビルド、デプロイするには dfx deploy コマンドを使用します。 プロジェクトの dfx.json 設定ファイルで定義された全ての Canister がデフォルトでデプロイされます。

以下のコマンドを別々の手順で実行する代わりに、このコマンド1つを実行することで、開発者のワークフローを簡素化します:

dfx canister create --all
dfx build
dfx canister install --all

このコマンドはプロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx deploy [flag] [option] [canister_name]

フラグ

dfx deploy コマンドでは、以下のオプションフラグを使用することができます。

フラグ 説明

-h, --help

利用情報を表示します。

-V, --version

バージョン情報を表示します。

オプション

dfx deploy コマンドでは、以下のオプションを使用することができます。

オプション 説明

--network <network>

接続先の環境をオーバーライドします。 ローカル Canister の実行環境がデフォルトで使用されます。

--argument <argument>

デプロイ時に Canister に渡す Candid 構文を使用した引数を指定します。 このオプションでは Motoko プログラムで Actor クラスを定義する必要があることに注意してください。

--with-cycles <number-of-cycles>

プロジェクト内の Canister の初期 Cycle 数を指定します。

引数

dfx deploy コマンドには以下の引数を指定することができます。

引数 説明

canister_name

登録、ビルド、およびデプロイする Canister の名前を指定します。 指定する Canister 名はプロジェクトの dfx.json 設定ファイルの canisters セクションにある名前と少なくとも1つは一致する必要があることに注意してください。 もし、Canister 名を指定しなかった場合、dfx deploydfx.json ファイルに定義されている全ての Canister をデプロイします。

dfx deploy コマンドを使用すると、ローカルな Canister 実行環境、Internet Computer プラットフォーム または指定したテストネット上に、全てまたは特定の Canister をデプロイすることができます。

例えば、dfx.json 設定ファイルで設定された仮想的な ic-pubs テストネット上に hello プロジェクトをデプロイするには、以下のコマンドを実行します:

dfx deploy hello --network ic-pubs

ローカル Canister 実行環境上にプロジェクトをデプロイし、インストールの手順に単一の引数を渡すには、次のようなコマンドを実行します:

dfx deploy hello_actor_class --argument '("from DFINITY")'

現在、Motoko Dapp で Actor クラスを使用しなければならないことに注意してください。 この例では、dfx deploy コマンドは hello_actor_class Canister に渡す引数を指定します。 hello_actor_class Canister のメインプログラムは以下のようなものです:

actor class Greet(name: Text) {
    public query func greet() : async Text {
        return "Hello, " # name # "!";
    };
};

dfx deploy コマンドで --with-cycles オプションを指定すると、ウォレットで作成される Canister の初期残高を指定することができます。Canister を指定しない場合、指定した Cycle 数がデフォルトで全ての Canister に追加されます。これを避けるには特定の Canister を名前で指定します。例えば、hello-assets という名前の Canister に8,000,000,000,000 Cycle の初期残高を追加するには、次のコマンドを実行します。

dfx deploy --with-cycles 8000000000000 hello-assets