SAP Commerce Cloud 的構建與環境無關,即所謂的 environment agnostic
,這意味著同一個構建可以適用於多個 Commerce Cloud 環境。這種設計的優點是,在開發或 staging 環境中測試的相同程式碼,可以不被修改地直接部署到生產環境中。
特定於環境的設定包含但不侷限於下列這些示例:
- 域名
- IP 地址
- SSL 證書
- 資源(資料庫、媒體儲存)的 URL 或憑據
- 任何外部系統的 URL 或憑據
- 技術使用者的憑證。
- 機器大小或可用資源量(CPU、記憶體)
換言之,Commerce Cloud 的構建環境不依賴於上述這些示例的屬性。從另一方面說,上述這些屬性,不應出現在最後構建出的映象裡,否者就意味著映象同具體的環境屬性產生了緊耦合的關係。
可以將 Commerce Cloud 環境建立為開發、staging 或生產型別。這些型別也稱為角色,即 Persona.
環境角色影響環境的效能和環境的使用目的。 慣例是,生產環境比 Staging 環境快,而 Staging 環境又比開發環境快。
環境可以具有不同的配置,比如不同的服務屬性:Service Properties.
- 給定型別的所有環境的配置,這種配置可以包含在構建中。
- 特定於某個環境的配置,可以在 Cloud Portal 中定義。
關於構建和部署的最佳實踐
- 只執行一次構建。構建的產出是一系列 Docker 映象。構建與具體的環境無關。
- 將構建出的 Docker 映象部署到所有環境,從開發開始,然後是 Staging 環境,最後到生產環境。
- 在將構建升級到下一個環境之前,在每個環境上測試構建出的 Docker 映象。