コードのデプロイ
Managed Runtime でコマースアプリケーションを実行するには、まずターゲット環境にコードバンドルをプッシュして、デプロイする必要があります。
このガイドでは、次の内容について説明します:
- API キーを設定する。
- コマンドラインスクリプトを使用して、バンドルを Managed Runtime にプッシュする。
- Runtime Admin Web アプリケーションを使用して、バンドルを Production (本番) 環境にデプロイする。
Managed Runtime と Runtime Admin を使用する前に、それらの機能を有効にし、アクセスをリクエストする必要があります。組織で Managed Runtime と Runtime Admin を有効にするには、Salesforce アカウントチームにお問い合わせください。アクセスするには、Commerce Cloud 管理者に連絡し、Account Manager を使用して Managed Runtime User または Managed Runtime Admin のいずれかの役割をアカウントに追加するよう依頼してください。
ホームディレクトリにすでに .mobify
ファイルがある場合は、このセクションは省略できます。
バンドルをプッシュする前に、まずコンピューターを認証する必要があります。
以下の手順に従って、パーソナル API キーを検索し、認証プロセスを開始します:
- Runtime Admin にログインします。
- 右上にあるユーザープロフィールアイコンをクリックし、Account Settings (アカウント設定) をクリックします。
- API Key (API キー) セクションまでスクロールダウンし、Personal API Key (パーソナル API キー) を探します。
- API キーをまだ作成していない場合、Generate (生成) リンクをクリックします。
- API キーを作成済みの場合は、Reset (リセット) リンクをクリックし、確認を求められたら Reset my API Key (API キーをリセット) をクリックします。
- API キーを使用するためのコマンドをコピーします。
セキュリティのため、Account Settings (アカウント設定) ページに戻ったときに、API キーは完全には表示されません。このため、API キーの完全なテキストを再度コピーするには、リセットする必要があります。
コマンドラインから PWA Kit プロジェクトディレクトリに移動し、コピーしたコマンドを実行します。
バンドルのプッシュに使用したい別のコンピューターから、コマンドを再度実行します。
バンドルをプッシュするには、コードを Webpack バンドルにパッケージ化するスクリプトを実行して、Runtime Manager にアップロードします。
最初のバンドルをプッシュする前に、次の手順に従って PWA Kit プロジェクトディレクトリの package.json
ファイルが正しく構成されていることを確認します:
- Runtime Admin にログインします。
- プロジェクトの名前をクリックします。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
- Project ID (プロジェクト ID) の文字列をコピーします。例:
my-project
。 - この文字列を
package.json.
のname
フィールドに貼り付けます。
バンドルをデプロイしたときに正しく動作するように、Runtime Admin で環境のプロキシを設定する必要があります。
SLASプライベートクライアントを使用している場合は、環境変数を使用してクライアントシークレットを設定する必要があります。
バージョン 3.5 以降の PWA Kit から生成されたプロジェクトは、デフォルトで SLAS プライベートクライアントを使用するように構成されます。
SLAS プライベートクライアントの使用の詳細については、SLAS プライベートクライアントの使用を参照してください。
バンドルをプッシュするには、コマンドラインに移動し、プロジェクトディレクトリから以下のコマンドを実行します:
プッシュスクリプトで使用できるその他のオプションを表示するには、npm run push -- --help
を実行します。
バンドルのプッシュが正常に完了すると、ターミナルに Beginning upload…
というメッセージが表示され、続いて Bundle Uploaded!
というメッセージが表示されます。
問題が発生した場合は、Beginning upload…
のメッセージの後で、表示される可能性のある 3 つのエラーメッセージのうちの 1 つをターミナルで探します (HTTP レスポンスステータスコードに基づく)。
各エラーメッセージをトラブルシューティングする方法を以下に説明します。
HTTP 404
エラーがターミナルに返されるのは、package.json
で指定された名前のプロジェクトが存在しないか、このプロジェクトを変更することが承認されていない場合です。
エラーを解決するには:
- バンドルをプッシュする手順を繰り返し、プッシュスクリプトに渡す Eメールアドレスと API キー設定が Runtime Admin の設定と一致することを確認します。
- プロジェクトが Runtime Admin ホームページの Projects (プロジェクト) に表示されることを確認します。
- プロジェクトが表示されない場合はサポートに連絡して、プロジェクトが作成されていることと、チームメンバーとしてプロジェクトへのアクセスが付与されていることを確認してください。
- Runtime Admin でプロジェクトを開きます。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
- Project ID (プロジェクト ID) の文字列をコピーします。例:
my-project
。 - プロジェクトディレクトリの内部で
package.json
を開きます。 name
とprojectSlug
の両方の値が、コピーしたプロジェクト ID 文字列と一致することを確認します。
HTTP 401
エラーがターミナルに返されるのは、バンドルをプッシュする許可が付与されていない場合です。このエラーを解決するには、Commerce Cloud Account Manager 管理者に連絡して、バンドルのプッシュを含むように自分の許可を変更するように依頼してください。
HTTP 413
エラーがターミナルに返されるのは、バンドルが大きすぎる場合です。バンドルの最大サイズは 400 MB で、バンドル内のすべての ssr_only
および ssr_shared
のファイルの最大サイズは 249 MB です。このエラーを修正するには、プロジェクト内のビルドフォルダーを調べ、バンドルのサイズを確認します。プロジェクトが最大サイズに近いか、すでに超過している場合は、以下の方法でサイズを小さくします:
- 未使用のアセットの削除
- 不要なアセットの削除
- 画像の縮小
プロジェクトファイルのサイズを小さくした後に、バンドルのプッシュを再度試みます。
HTTPS エラーは、ローカルコンピューターまたは企業の VPN やファイアウォールなどのネットワークプロキシが、cloud.mobify.com でホストされている Managed Runtime の API と通信するように構成されていない場合に発生する可能性があります。
これらのエラーには、unable to get local issuer certificate
または self signed certificate in certificate chain
のようなメッセージが含まれる場合があります。
こうしたエラーを解決するには、社内 IT チームと協力して、企業ネットワーク環境に合わせて Node.js のインストールを構成します。
バンドルのプッシュを正常に完了したら、ターゲット環境にデプロイできます。
PWA Kit と Managed Runtime を使用するすべてのサイトでは、各環境にデプロイされたものとして指定できる バンドルは一度に 1 つのみ です。デフォルトでは、各プロジェクトには production
という名前の環境が 1 つあります。Runtime Admin または Managed Runtime API を使用して、追加の環境を作成できます。
バンドルをデプロイするには:
- Runtime Admin にログインします。
- プロジェクトの名前をクリックします。
- Environments (環境) で、デプロイする環境の名前をクリックします (例: Production (本番))。
- Bundles (バンドル) で、バンドルの横にある Deploy (デプロイ) ボタンをクリックします。
- Confirm Deploy (デプロイの確認) をクリックします。
- デプロイが完了するまで待ちます。
デプロイが正常に完了すると、バンドルは Deployed Bundle (デプロイ済みのバンドル) という見出しの下に表示されます。
新しい環境に初めてデプロイする場合、このプロセスは最大で 1 時間かかる場合があります。その後のデプロイは、CDN への変更が必要な場合以外は、1 分程度で完了します。CDN への変更には約 15 分かかり、リクエストプロセッサーやプロキシ構成への変更がデプロイに含まれている場合に必要です。