1. 程式人生 > 其它 >如何在 SAP Commerce Cloud Portal 構建和部署 SAP Spartacus Storefront

如何在 SAP Commerce Cloud Portal 構建和部署 SAP Spartacus Storefront

Commerce Cloud portal:

CCV2 部署包含構建和部署兩個子步驟。

首先登入 cloud portal,建立一個新 build:

點選 create 按鈕:

輸入構建的名稱和託管要構建的程式碼庫的 git 分支。名稱只是一個標籤,但是,我們按照慣例使用名稱是為了更容易瞭解構建包含的內容。約定如下:

spartacus-[hybris_patch_version]-[cep_version]-[spartacus_version].[build_number]
hybris_patch_version: Version of hybris and patch level (e.g. 1905.13)
cep_version: Cloud extension pack version suffix (e.g. 2004)
spartacus_version: Built version of Spartacus (e.g. 1.5.3)
build_number: A consecutive number (1, 2, 3...)

Example: spartacus-1905.13-cep-2004-1.5.3.0

Git 分支或標籤欄位是指將用於構建的 git repo 分支或標籤。 目前我們使用 spa/1.5.3 分支。

單擊儲存。 這將安排並啟動構建。 構建完成後,可以部署在 CCv2 例項中。

從 build list 裡選擇完成的 build,點選 Deploy to Environment 即可。

選擇要部署的目標環境。

對於資料遷移模式,如果資料不打算作為部署的一部分進行更改,則不需要遷移。 如果資料會發生變化,請初始化資料庫。

Dynamic properties

有一些屬性是和 environment 相關的,例如:

{
"key": "website.electronics.http",
"value": "http://storefront.d3-public.model-t.cc.commerce.ondemand.com/yacceleratorstorefront"
},
{
"key": "website.electronics.https",
"value": "https://storefront.d3-public.model-t.cc.commerce.ondemand.com/yacceleratorstorefront"
},
{
"key": "website.electronics-spa.http",
"value": "

http://storefront.d3-public.model-t.cc.commerce.ondemand.com:4200"
},
{
"key": "website.electronics.https",
"value": "https://storefront.d3-public.model-t.cc.commerce.ondemand.com:4200"
},
{
"key": "sop.post.url",
"value": "https://storefront.d3-public.model-t.cc.commerce.ondemand.com/acceleratorservices/sop-mock/process"
}

有幾種方法可以在每個環境中指定這些屬性,這樣我們就不必進行多次構建。

(1) Use magic properties that start with "ccv2.services" (website.electronics.https=${ccv2.services.accstorefront.url.0})
(2) Place your host-specific properties under the hcs_common service on the given instance

(Environments > your_environment > Services > hcs_common > Properties)

Deploying a javascript storefront

Model T 需要 Github 倉庫具有上圖所示的檔案結構。

(1) core-customize 將包含您自定義的擴充套件和 manifest.json 來描述您的環境。
(2) js-storefront 將包含 Storefront 程式碼和前端的清單。 下面是一個例子:

{
  "applications": [
      {
          "name": "spartacus",
          "path": "spartacus",
          "enableSSR": "true", //if you want to enable SSR
          "nodeVersion": "11"  //if you want a specific node version
      }
  ]
}

在幕後,Model T builder 將:

(1) 在 application.path 資料夾下查詢 dist 資料夾。 如果它在那裡,它會將它部署在一個節點中。
(2) 如果沒有 dist 資料夾,它將構建和部署您的店面程式碼,該程式碼應位於 application.path 資料夾中

Backend URL for javascript storefront

如果您有多個環境並且您想重用相同的構建,請在 index.html 中新增一個屬性,如下所示:

<meta name="occ-backend-base-url" content="OCC_BACKEND_BASE_URL_VALUE" />

Model T builder 將自動用每個環境的正確後端 URL 替換元屬性的內容。

如果啟用 PWA,則必須在本地構建應用程式,然後部署到 CCv2 以便正確建立 Service Worker。 (如果將構建委託給 Model T,則不會正確建立 Service Worker)

更多Jerry的原創文章,盡在:"汪子熙":