SAP 电商云 Spartacus UI 的持续集成 - Continous integration
在將代碼集成到我們的開發主線之前,會運行一個持續集成過程以證明可以安全地集成更改。
我們將 Travis CI 用于我們的持續集成服務。
每次將代碼推送到 Spartacus 存儲庫時(無論是否已發出拉取請求),都會觸發我們公共 Travis CI 中的構建。對于我們所有的庫,構建執行以下步驟:
- 檢查更漂亮的合規性
- 檢查 tslint 合規性
- 運行所有單元測試
- 運行 Sonar 檢查
- 構建 Spartacus 項目源
- 發布快照構建
Travis CI 構建的配置可以在 Spartacus 項目根目錄的 .travis.yml 文件中找到。
端到端測試
觸發構建時,還會在 Jenkins 服務器上觸發并行過程,該服務器運行我們庫的所有端到端 (E2E) 測試。 E2E 測試結果報告為通過或未通過 GitHub 上的 Pull Request 檢查。
遺憾的是,目前 Jenkins 服務器未公開,因此外部貢獻者無法看到 E2E 測試結果。我們希望在不久的將來過渡到公共服務器。
Contributing Integration Libraries to Spartacus
以下集成庫由 Spartacus 核心團隊發布,但歸相關集成團隊所有:
- Context-Driven Services
- Configurable Products
- CPQ Configurable Products
- SAP Customer Data Cloud
- SAP Digital Payments
Integration Library Guidelines
對于向 Spartacus 貢獻集成庫的任何團隊,建議遵循以下準則:
-
例如,您應該在 Spartacus 存儲庫中有自己的單獨分支,例如 integration/cds。
-
您應該盡可能多地合并來自開發分支的最新更改(以避免合并沖突)。
-
您需要將構建、驗證和測試步驟添加到分支上的 .travis.yml 文件中,這樣您就可以描述您的持續集成過程。您需要包含您認為對庫的持續集成所必需的測試和驗證。
-
您不必在 CI 過程中運行所有 Spartacus 核心驗證(盡管可能會建議這樣做)。
-
在嘗試將集成庫本身合并到 Spartacus 主開發分支(或將新更改合并到開發分支)時,核心團隊將對其進行完整驗證,包括回歸測試。這將不包括集成測試。作為集成庫所有者,您需要確保您的集成是穩定的,并且它通過了要發布的所有要求。
-
集成庫發布后,您有責任在后續版本中保持其穩定。
Reasoning Behind This Approach
Spartacus 建立在 Travis CI 之上。 必要的構建步驟在 travis.yml 文件中進行了描述,并且每個分支僅支持一個構建文件。 因此,為特定集成設置單獨的分支允許每個集成團隊自定義他們的構建。
Spartacus 團隊沒有足夠的帶寬來運行每個集成庫的所有驗證和測試作為每個構建的一部分。 同時,集成團隊也不應該需要對所有核心 Spartacus 代碼運行驗證。
總結
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI 的持续集成 - Continous integration的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tup股权激励什么意思
- 下一篇: 如何在 SAP 电商云 Spartacu