

# 持續整合/持續交付的路徑
<a name="a-pathway-to-continuous-integrationcontinuous-delivery"></a>

 CI/CD 可描繪成一個管道 (請參閱下圖)，其中，新的程式碼會在一端提交，經過一系列階段 (原始檔、建置、預備及生產) 的測試，然後以生產就緒程式碼的形式發佈。若您的組織初次使用 CI/CD，可以透過反覆操作的方式了解此管道。這表示您應從較小的範圍開始，在每個階段反覆進行操作，使您可以了解並透過有助於組織成長的方式來開發程式碼。 

![CI/CD 管道](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/image2.png)


*CI/CD 管道*

 CI/CD 管道的每個階段，都會在交付程序中以邏輯單位的形式結構化。此外，每個階段都可做為一個閘門，檢查程式碼的特定面向。隨著程式碼通過管道，我們會假設程式碼的品質在後期階段較高，因為程式碼的更多面向將持續獲得驗證。早期階段發現的問題會阻擋程式碼通過管道。測試結果會立即傳送給團隊，而且如果軟體未通過該階段，所有進一步的建置和發行都會停止。 

 這些階段皆屬建議。您可以根據業務需求調整階段。某些階段可以針對多種類型的測試、安全和性能而重複進行。根據專案複雜性和您團隊結構之不同，有些階段在不同層級可能會重複進行數次。例如，一個團隊的最終產品可能會成為下一個團隊專案所需的項目。這表示第一個團隊的最終產品之後會做為下一個團隊專案中的成品。 

 CI/CD 管道的存在對您組織功能的成熟，會有重大的影響。該組織應先從較小的步驟開始，而不是一開始就試圖建置一個包含多重環境、許多測試階段，同時所有階段均包含自動化的完全成熟之管道。請記住，即使是擁有高成熟度 CI/CD 環境的組織，也仍然需要不斷改善其管道。 

 建置具備 CI/CD 功能的組織是一個旅程，一路上有許多目標。下一節會討論您組織能採用的可能路徑，從持續整合開始並經歷各種持續交付層級。 