部署程式碼

若要在 Managed Runtime 執行您的商務應用程式,您必須先推送程式碼套件並將其部署至目標環境。

這份指南將說明如何:

  • 設定您的 API 金鑰。
  • 使用命令列指令碼來推送套件至 Managed Runtime。
  • 使用 Runtime Admin 網路應用程式來部署套件至 Production 環境。

在使用 Managed Runtime 和 Runtime Admin 之前,必須啟用它們,而且您必須要求其存取權。要為您的組織啟用 Managed Runtime 和 Runtime Admin,請聯絡您的 Salesforce 客服團隊。要進行存取,請要求您的 Commerce Cloud 管理員使用 Account Manager 將以下任一角色加到您的帳戶:Managed Runtime UserManaged Runtime Admin

如果您的主目錄中已有 .mobify 檔案,則可以跳過此部分。

在您能夠推送套件之前,必須先授權您的電腦。

請查詢您的個人 API 金鑰來開始授權流程:

  1. 登入 Runtime Admin
  2. 按一下使用者個人資料圖示 (右上角),並按一下 [Account Settings] (帳戶設定)。
  3. 向下捲動至名為 API Key (API 金鑰) 的區段,並尋找 Personal API Key (個人 API 金鑰)。
    • 如果您尚未建立 API 金鑰,請按一下 [Generate] (產生) 連結。
    • 如果您已有 API 金鑰,請按一下 [Reset] (重設) 連結,並在確認畫面按一下 [Reset my API Key] (重設我的 API 金鑰)。
  4. 複製命令來使用您的 API 金鑰。

出於安全考量,您回到 Account Settings (帳戶設定) 頁面時,不會顯示完整的 API 金鑰,因此您必須重設,才能再次複製完整的 API 金鑰。

從命令列前往您的 PWA Kit 專案目錄,並執行您複製的命令。

在要用來推送套件的其他電腦上再次執行命令。

推送套件時需要執行指令碼來將您的程式碼打包成 Webpack 套件,並上傳至 Runtime Manager。

在推送您的第一個套件之前,請確認 PWA Kit 專案目錄中的 package.json 檔案是否已正確設定:

  1. 登入 Runtime Admin
  2. 按一下您的專案名稱。
  3. 在左側選單按一下 [Project Settings] (專案設定)。
  4. 複製 [Project ID] (專案 ID) 字串。範例:my-project
  5. 貼到 package.json. 中的 name 欄位

為確保套件在部署時能夠正常運作,您必須在 Runtime Admin 中為環境設定 Proxy

如果您使用 SLAS 私人用戶端,則必須透過環境變數設定用戶端金鑰。

預設情況下,從 PWA Kit 3.5 及更高版本產生的專案將設定為使用 SLAS 私人用戶端。

若要進一步瞭解如何使用 SLAS 私人用戶端,請參閱使用 SLAS 私人用戶端

若要推送套件,請前往命令列,並從專案目錄執行以下命令:

若要取得可以提供給推送指令碼的其他選項清單,請執行npm run push -- --help

成功推送套件後,終端機會出現 Beginning upload… 訊息,接著是 Bundle Uploaded! 訊息。

如果出現問題,請在您的終端機出現 Beginning upload… 訊息後,尋找三個可能的錯誤訊息其中之一 (根據 HTTP 回應狀態代碼)。

以下是如何疑難排解每一個錯誤訊息。

package.json 中指定名稱的專案不存在或您無權變更專案時,終端機將傳回 HTTP 404 錯誤。

若要修正錯誤:

  1. 重複這些步驟來推送套件,並確定您傳遞給推送指令碼的電子郵件地址和 API 金鑰設定與 Runtime Admin 中的設定相符。
  2. 確認您的專案是否出現在 Runtime Admin 首頁的 Projects (專案) 下方。
    • 若您的專案沒有出現,請聯絡支援人員來確認您已建立該專案,且您已獲得該專案的團隊成員存取權限
  3. 在 Runtime Admin 上開啟專案。
  4. 在左側選單按一下 [Project Settings] (專案設定)。
  5. 複製 [Project ID] (專案 ID) 字串。範例:my-project
  6. 在您的專案目錄中開啟 package.json
  7. 確認 nameprojectSlug 的值是否都與您複製的專案 ID 字串相符。

當您沒有推送套件的權限時,終端機將傳回 HTTP 401 錯誤。若要修正此錯誤,請聯絡您的 Commerce Cloud Account Manager 管理員,請他們將您的權限提升為包含推送套件。

當您的套件過於龐大時,終端機將傳回 HTTP 413 錯誤。套件的大小上限為 400 MB,套件內所有 ssr_onlyssr_shared 檔案的大小上限為 249 MB。若要修正此錯誤,請檢查專案中的建置資料夾來確認套件大小。若您的專案大小臨近或已超過上限,可以採取以下措施來縮小:

  • 移除未使用資產
  • 移除非必要資產
  • 縮小圖片尺寸

縮小專案檔案後,請再次嘗試推送套件。

當您的本機電腦或網路 Proxy (例如企業 VPN 或防火牆) 尚未設定為與代管在 cloud.mobify.com 的 Managed Runtime API 進行通訊時,可能會出現 HTTPS 錯誤。

這些錯誤可能包括 unable to get local issuer certificateself signed certificate in certificate chain 等訊息。

若要解決這些錯誤,請與貴公司 IT 團隊一起設定用於公司網路環境的 Node.js 安裝。

成功推送套件後,就可將其部署至目標環境中。

對於使用 PWA Kit 和 Managed Runtime 的網站,您為每個環境部署時只能一次指派一個套件。根據預設,每個專案都有一個名為 production 的環境。您可以使用 Runtime Admin 或 Managed Runtime API 建立更多環境。

若要部署套件:

  1. 登入 Runtime Admin
  2. 按一下您的專案名稱。
  3. Environments (環境) 下方,按一下您想部署至的環境名稱 (例如:Production)。
  4. Bundles (套件) 下方,按一下套件旁的 [Deploy] (部署) 按鈕。
  5. 按一下 [Confirm Deploy] (確認部署)。
  6. 等待部署完成。

當部署完成後,套件將會在標題 Deployed Bundle (已部署套件) 下出現。

第一次部署至新的環境時,流程最多可能需要一小時來完成。後續的部署大約會花費一分鐘,除非需要變更 CDN。CDN 變更需時 15 分鐘左右,部署當中包含對要求處理器或 Proxy 設定的變更時,才需要進行。