部署程式碼
若要在 Managed Runtime 執行您的商務應用程式,您必須先推送程式碼套件並將其部署至目標環境。
這份指南將說明如何:
- 設定您的 API 金鑰。
- 使用命令列指令碼來推送套件至 Managed Runtime。
- 使用 Runtime Admin 網路應用程式來部署套件至 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 中為環境設定 Proxy。
如果您使用 SLAS 私人用戶端,則必須透過環境變數設定用戶端金鑰。
預設情況下,從 PWA Kit 3.5 及更高版本產生的專案將設定為使用 SLAS 私人用戶端。
若要進一步瞭解如何使用 SLAS 私人用戶端,請參閱使用 SLAS 私人用戶端。
若要推送套件,請前往命令列,並從專案目錄執行以下命令:
若要取得可以提供給推送指令碼的其他選項清單,請執行npm run push -- --help
。
成功推送套件後,終端機會出現 Beginning upload…
訊息,接著是 Bundle Uploaded!
訊息。
如果出現問題,請在您的終端機出現 Beginning upload…
訊息後,尋找三個可能的錯誤訊息其中之一 (根據 HTTP 回應狀態代碼)。
以下是如何疑難排解每一個錯誤訊息。
當 package.json
中指定名稱的專案不存在或您無權變更專案時,終端機將傳回 HTTP 404
錯誤。
若要修正錯誤:
- 重複這些步驟來推送套件,並確定您傳遞給推送指令碼的電子郵件地址和 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。若要修正此錯誤,請檢查專案中的建置資料夾來確認套件大小。若您的專案大小臨近或已超過上限,可以採取以下措施來縮小:
- 移除未使用資產
- 移除非必要資產
- 縮小圖片尺寸
縮小專案檔案後,請再次嘗試推送套件。
當您的本機電腦或網路 Proxy (例如企業 VPN 或防火牆) 尚未設定為與代管在 cloud.mobify.com 的 Managed Runtime API 進行通訊時,可能會出現 HTTPS 錯誤。
這些錯誤可能包括 unable to get local issuer certificate
或 self signed certificate in certificate chain
等訊息。
若要解決這些錯誤,請與貴公司 IT 團隊一起設定用於公司網路環境的 Node.js 安裝。
成功推送套件後,就可將其部署至目標環境中。
對於使用 PWA Kit 和 Managed Runtime 的網站,您為每個環境部署時只能一次指派一個套件。根據預設,每個專案都有一個名為 production
的環境。您可以使用 Runtime Admin 或 Managed Runtime API 建立更多環境。
若要部署套件:
- 登入 Runtime Admin。
- 按一下您的專案名稱。
- 在 Environments (環境) 下方,按一下您想部署至的環境名稱 (例如:Production)。
- 在 Bundles (套件) 下方,按一下套件旁的 [Deploy] (部署) 按鈕。
- 按一下 [Confirm Deploy] (確認部署)。
- 等待部署完成。
當部署完成後,套件將會在標題 Deployed Bundle (已部署套件) 下出現。
第一次部署至新的環境時,流程最多可能需要一小時來完成。後續的部署大約會花費一分鐘,除非需要變更 CDN。CDN 變更需時 15 分鐘左右,部署當中包含對要求處理器或 Proxy 設定的變更時,才需要進行。