如何在 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": "
},
{
"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的原創文章,盡在:"汪子熙":