CI/CD 管道 ci-cd-pipeline

了解 CI/CD 管道以及這些管道如何在 Cloud Manager 中處理至中繼和生產環境的部署。

概觀 overview

Cloud Manager 包括持續整合/持續傳遞 (CI/CD) 架構,此架構讓實作團隊可快速測試並傳遞新的或更新的程式碼。 實施團隊可以設定、配置和開始自動化 CI/CD 管道。 該管道執行全面的程式碼掃描時遵循 Adobe 程式碼編寫最佳實務,並確保最高的程式碼品質。

CI/CD 管道還會自動化單位和效能測試流程,以提高部署效率並主動識別部署後修復成本高昂的嚴重問題。 如果將程式碼部署到生產環境,實作團隊即可存取完整的程式碼效能報告,以了解對 KPI 和關鍵安全驗證的潛在影響。

關於管道流程 pipeline-process

以下圖表說明當使用管道在 Cloud Manager 中觸發某個版本時會發生什麼情況。

管道流程

管道步驟
說明
​1. 開始發行
部署管理員觸發版本的方式包括手動、使用 Git 認可,或按照定期排程。
​2. 建立版本標籤
Cloud Manager 會建立 Git 標記,以使用自動產生的版本編號 (例如 2018.531.245527.0000001222) 來標示版本。
​3. 使用自動產生的版本建置為版本
Cloud Manager 會使用新指派的版本編號建置應用程式。
​4. 評估程式碼品質
Cloud Manager 會掃描原始程式碼並提供摘要,然後再將程式碼部署到中繼環境。
​5. 已建立版本的成品已儲存
儲存發佈內容成品以供稍後在部署步驟中使用。
​6. 自動將成品部署至AMS AEM中繼環境
將發行成品部署至中繼環境。
​7. 觸發自動化測試
Cloud Manager 會在成品上執行效能和安全測試。
​8. 生產觸發部署
完成自動化測試後,Cloud Manager 會展開對生產環境的部署。
​9. Cloud Manager取得要部署的成品
Cloud Manager 提取已儲存的發行成品。
​10. 將成品部署至生產環境
將發佈內容成品部署至生產環境。

程式碼來源 code-sources

除了生產和非生產外,管道還可能會因它們部署的計畫碼型別而異。

完整棧疊管道 full-stack-pipeline

完整棧疊管道將完整的AEM應用程式程式碼部署到AEM執行階段,並且預設情況下還部署Web層配置。

以下限制適用。

  • 使用者必須以​ 部署管理員 ​角色登入,才能設定或執行管道。
  • 在任何時候,每個環境只能有一個完整堆疊管道。

以下說明完整棧疊管道如何與Web層設定管道互動。

  • 如果存在對應的Web層配置管道,則環境的完整棧疊管道會忽略Dispatcher配置。
  • 如果環境對應的Web層配置管道不存在,使用者可以將完整棧疊管道配置為包含或忽略Dispatcher配置。

完整堆疊管道可以是程式碼品質管道或部署。

設定完整棧疊管道 configure-full-stack

請參閱新增生產管道
請參閱新增非生產管道

Web層設定管道 web-tier-config-pipelines

Web層配置管道允許將HTTPD/Dispatcher配置獨佔部署到AEM執行階段,將其與其他程式碼變更分離。 它是一個簡化的管道,為只想部署Dispatcher配置更改的使用者提供了一種在幾分鐘內完成的加速方法。

TIP
Web層配置管道允許您將Web配置與完整棧疊管道儲存在相同或不同的源位置,具體取決於最適合您的專案結構的內容。

以下限制適用。

  • 使用者必須以​ 部署管理員 ​角色登入,才能設定或執行管道。
  • 在任何時候,每個環境只能有一個 Web 層配置管道。
  • 當相應的完整棧疊管道正在執行時,使用者無法配置Web層配置管道。

以下說明Web層設定管道如何與完整棧疊管道互動。

  • 如果沒有為環境設定Web層設定管道,使用者可以在設定完整棧疊管道時,選擇包含或忽略Dispatcher設定。
  • 為環境設定Web層設定管道後,對應的完整棧疊管道(如果存在)會在執行和部署期間忽略Dispatcher設定。
  • 在刪除Web層配置管道後,其對應的完整棧疊管道(如果存在)將重置為在其執行期間部署Dispatcher配置。
NOTE
對於啟用藍綠色部署的AMS程式,Web層更新預設使用滾動部署。 如果您需要藍綠色部署以進行Web層變更,請使用完整棧疊管道。

設定Web層管道 configure-web-tier

請參閱新增生產管道
請參閱新增非生產管道

使用Smart Build更快建置 use=smart-build

Cloud Manager現在使用名為​ Smart Build ​的最佳化建置策略,該策略使用模組層級的快取來加速建置流程。 在每次建置期間,只會重建已變更的模組,而未變更的模組則會從快取中重複使用。

智慧型組建僅適用於計畫碼品質和開發完整棧疊部署管道。

請參閱新增非生產管道關於在非生產管道中使用Smart Build

如何設定 CI/CD 管道 how-to-setup-a-ci-cd-pipeline

若要了解更多有關管道設定的詳細資訊,請參閱文件「設定生產管道」和「設定非生產管道」。

品質閘道 quality-gates

CI/CD 管道會提供品質閘道或驗收標準,在將程式碼從中繼環境移動到部署環境之前必須滿足這些要求。 在管道內有三個閘道:

  • 程式碼品質
  • 效能測試
  • 安全測試

對於這些閘道中的每一個,可識別三個層級的問題:

  • 嚴重 - 閘道識別出的嚴重問題,並會導致管道立即失敗。
  • 重要 - 閘道識別出的重要問題,並會導致管道進入暫停狀態。 部署管理員、專案管理員或企業所有者可以覆寫此問題,讓管道繼續作業。 或者,他們可以接受這些問題,導致管道因失敗而停止。
  • 資訊 - 由閘道指出的資訊問題僅供參考,對管道執行沒有影響。

以下為發現有問題的程式碼掃描範例。

程式碼掃描範例

如何設定閘道 how-to-setup-gates

如需設定程式碼、品質和效能閘道的詳細資訊,請參閱文件「設定生產管道」。

recommendation-more-help
experience-manager-cloud-manager-help-main-toc