

# 從可進行持續整合的最基本可行之管道開始
<a name="starting-with-a-minimum-viable-pipeline-for-continuous-integration"></a>

 組織邁向持續交付的旅程，從最基本可行的管道 (MVP) 開始。如[實作持續整合及持續交付](implementing-continuous-integration-and-continuous-delivery.md)中所探討，團隊可以從非常簡單的程序開始，例如實作執行程式碼樣式檢查或單一單元測試，而不進行部署的管道。 

 其中一項關鍵元件是持續交付的協同運作工具。為了協助您建置此管道，Amazon 開發了 [AWS CodeStar](https://aws.amazon.com/codestar)。 

![](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/aws-codestar-setup.png)


*AWS CodeStar 設定頁面*

 AWS CodeStar 使用 AWS CodePipeline、AWS CodeBuild、AWS CodeCommit 及 AWS CodeDeploy，並包含經整合的設定程序、工具、範本及儀表板。AWS CodeStar 提供在 AWS 上快速開發、建置和部署應用程式所需的一切。其可讓您能更快速地開始發行程式碼。已熟悉 AWS 管理主控台並尋求更高程度控制的客戶，可以手動設定其選擇的開發人員工具，並且可視需要佈建個別的 AWS 服務。 

![](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codestar-dashboard.png)


*AWS CodeStar 儀表板*

 AWS CodePipeline 是一項 CI/CD 服務，可透過 AWS CodeStar 或 AWS 管理主控台使用，其可進行快速且可靠的應用程式及基礎設施更新。AWS CodePipeline 會在每次發生程式碼變更時，根據您定義的發行程序模型，建置、測試及部署您的程式碼。您如此即可快速且可靠地交付功能和更新。透過使用熱門的第三方服務 (像是 GitHub) 預先建置之外掛程式，或是將自己自訂的外掛程式整合至發行程序的任何階段，您可以輕鬆建置端對端解決方案。使用 AWS CodePipeline 時，只需按實際用量付費。沒有預付費用，也無需長期承諾。 

 AWS CodeStar 和 AWS CodePipeline 的步驟，會直接映射到[原始檔、建置、預備及生產 CI/CD 階段](testing-stages-in-continuous-integration-and-continuous-delivery.md)。雖然持續交付固然重要，但您可以從簡單的兩步驟管道開始，檢查原始檔儲存庫，並執行建置動作： 

![](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-source-build.png)


*AWS CodePipeline ‒ 原始檔及建置階段*

 針對 AWS CodePipeline，原始檔階段可接受來自 GitHub、AWS CodeCommit 以及 Amazon Simple Storage Service (Amazon S3) 的輸入。自動化建置程序是實作持續交付及邁向持續部署關鍵的第一個步驟。消除製作建置成品中的人為介入，可降低您團隊的負擔，將因為手動封裝而產生的錯誤降至最少，並可讓您開始更頻繁地封裝可供使用的成品。 

 AWS CodePipeline 可和 AWS CodeBuild 一同順暢地運作，這是一種全受管的建置服務，可讓您更輕易地在管道中設定建置步驟，封裝您的程式碼及執行單元測試。有了 AWS CodeBuild 之後，您不需要佈建、管理或擴展您自己的組建伺服器。AWS CodeBuild 可持續擴展，並會同時處理多個建置，使您的建置不會在佇列中等候。AWS CodePipeline 也可以和 Jenkins、Solano CI 和 TeamCity 等組建伺服器整合。 

 例如，在以下建置階段，三個動作 (單元測試、程式碼樣式檢查，以及收集程式碼指標) 會以平行方式執行。使用 AWS CodeBuild，這些步驟可做為新的專案新增，無需進一步建置或安裝組建伺服器來處理負載。 

![](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-build-functionality.png)


*AWS CodePipeline ‒ 建置功能*

*AWS CodePipeline — 原始檔和建置階段*圖中所顯示的原始檔和建置階段，以及支援程序和自動化，可協助您的團隊轉換至持續整合。到達此成熟度時，開發人員需要定期注意建置和測試結果。他們也需要發展及維持狀況良好的單元測試基礎。而這反過來又會增強整個團隊對 CI/CD 管道的信心，進一步推動其採用。 

![](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-stages.png)


*AWS CodePipeline 階段*