SAP Spartacus的釋出方式以及語義化版本管理機制
Spartacus打包之後,以庫的方式釋出到 http:// npmjs.com 上。
Spartacus庫主要有三個實體組成:core,Storefront和styles. 其中Storefront包含了使用者肉眼可見的,組成Storefront外觀的UI元件,客戶可以重用和增強這些元件。Core則包含了Spartacus的控制邏輯,使用者透過Angular依賴注入的機制,可以開發自己的服務類,然後注入到core框架之中。Styles包含了Spartacus的介面樣式實現,客戶可以對這些樣式進行定製化,或者用自開發的樣式來覆蓋標準樣式。
以前Accelerator同Storefront的比較時已經提到過,客戶基於Spartacus庫檔案進行屬於自己的Storefront開發,並不會直接修改Spartacus釋出的原始碼。客戶的二次開發程式碼,和Spartacus庫檔案是一種松耦合關係。客戶升級Spartacus版本,在絕大多數情況下都不會影響到現在的二次開發程式碼。那麼所說的“絕大多數情況下”,具體是指什麼呢?這就要從Spartacus的版本管理機制說起。
同絕大多數流行的框架和庫一樣,Spartacus的版本管理也採取了所謂語義化版本的機制,版本號由主版本號,次版本號和修訂版本號共同組成,中間由小數點分隔開。
主版本號的升高,用於引入無法向後相容的變更或顛覆性的更新。無法向後相容的變更,是指Spartacus升級之後,之前基於低版本編寫的二次開發程式碼,需要人工調整後才能繼續工作。顛覆性的更新,比如Spartacus 3.0,首次支援B2B特性。
次版本的增加:用於引入新功能,並且版本更新之後,已有的二次開發程式碼不需任何調整仍然能夠正常工作。原始碼重構,效能最佳化等不屬於bug修復的修改,也透過此版本號引入。
修訂版本:主要用於釋出bug的修復.
Spartacus的修訂版本釋出以周為單位,確保使用過程中發現的bug能儘早得到解決。次版本的升高以月為單位,而主版本的更新,可以參考SAP官方路線圖 網站上的宣告。
更多Jerry的原創文章,盡在:"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2736602/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP Spartacus 的 git flow 和釋出流程Git
- 語義化版本
- go-carbon 1.2.6 版本釋出,優化錯誤處理機制,棄用出錯直接panic的粗暴處理方式Go優化
- go-carbon 1.2.6 版本釋出,最佳化錯誤處理機制,棄用出錯直接panic的粗暴處理方式Go
- 關於 SAP Spartacus SSR 3.4.5 版本最佳化的 reuseCurrentRendering flag
- SAP 電商雲 Accelerator 和 Spartacus UI 的工作機制差異UI
- 語義化版本慣例
- 使用自定義 HTTP Interceptor 記錄 SAP Spartacus 傳送的 OCC API 以及響應HTTPAPI
- 語義化版本 2.0.0 - 版本控制規則
- SAP Spartacus yarn build:libs的輸出YarnUI
- 語義化版本控制模組-Semver
- Semver(語義化版本號)掃盲
- SAP Spartacus BrowserPlatformLocation的初始化邏輯Platform
- 微信域名檢測的機制原理以及實現方式
- SAP 電商雲 Spartacus UI 的自定義 hamburger 選單UI
- SAP Spartacus 如何重定義登入 Login Component
- SAP Emarsys 和 SAP Spartacus 的整合
- SAP Spartacus develop branch 的伺服器端渲染啟動方式dev伺服器
- go-carbon 2.2.0 版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.1.8 版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.1.7 版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.1.6 版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.1.9 版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.1.1 版本釋出, 輕量級、語義化、對開發者友好的golang時間處理庫Golang
- SmartX 釋出管理平臺 CloudTower 2.0 版本Cloud
- SAP CRM WebClient UI異常的持久化機制WebclientUI持久化
- Laravel-admin 釋出 1.6.0 版本,以及近期的一些更新Laravel
- SpringBoot快取管理(三) 自定義Redis快取序列化機制Spring Boot快取Redis
- EMQX 多版本釋出、新增自定義函式功能MQ函式
- SAP CAP Fiori Elements 應用配置 UI 的兩種方式以及自定義 index.htmlUIIndexHTML
- Android效能優化(4):UI渲染機制以及優化Android優化UI
- go-dongle 0.1.3 版本釋出, 輕量級、語義化、對開發者友好的 Golang 編碼解碼、加密解密庫Golang加密解密
- go-dongle 0.1.2 版本釋出, 輕量級、語義化、對開發者友好的 Golang 編碼解碼、加密解密庫Golang加密解密
- go-carbon 2.2.2版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-carbon 2.2.1版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang
- go-dongle 0.1.0 版本釋出, 輕量級、語義化、對開發者友好的 Golang 編碼解碼、加密解密庫Golang加密解密
- go-dongle 0.1.1 版本釋出, 輕量級、語義化、對開發者友好的 Golang 編碼解碼、加密解密庫Golang加密解密
- go-carbon 2.1.4版本釋出, 輕量級、語義化、對開發者友好的Golang時間處理庫Golang