從可進行持續整合的最基本可行之管道開始
組織邁向持續交付的旅程,從最基本可行的管道 (MVP) 開始。如實作持續整合及持續交付中所探討,團隊可以從非常簡單的程序開始,例如實作執行程式碼樣式檢查或單一單元測試,而不進行部署的管道。
其中一項關鍵元件是持續交付的協同運作工具。為了協助您建置此管道,Amazon 開發了 AWS CodeStar
AWS CodeStar 設定頁面
AWS CodeStar 使用 AWS CodePipeline、AWS CodeBuild、AWS CodeCommit 及 AWS CodeDeploy,並包含經整合的設定程序、工具、範本及儀表板。AWS CodeStar 提供在 AWS 上快速開發、建置和部署應用程式所需的一切。其可讓您能更快速地開始發行程式碼。已熟悉 AWS 管理主控台並尋求更高程度控制的客戶,可以手動設定其選擇的開發人員工具,並且可視需要佈建個別的 AWS 服務。
AWS CodeStar 儀表板
AWS CodePipeline 是一項 CI/CD 服務,可透過 AWS CodeStar 或 AWS 管理主控台使用,其可進行快速且可靠的應用程式及基礎設施更新。AWS CodePipeline 會在每次發生程式碼變更時,根據您定義的發行程序模型,建置、測試及部署您的程式碼。您如此即可快速且可靠地交付功能和更新。透過使用熱門的第三方服務 (像是 GitHub) 預先建置之外掛程式,或是將自己自訂的外掛程式整合至發行程序的任何階段,您可以輕鬆建置端對端解決方案。使用 AWS CodePipeline 時,只需按實際用量付費。沒有預付費用,也無需長期承諾。
AWS CodeStar 和 AWS CodePipeline 的步驟,會直接映射到原始檔、建置、預備及生產 CI/CD 階段。雖然持續交付固然重要,但您可以從簡單的兩步驟管道開始,檢查原始檔儲存庫,並執行建置動作:
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,這些步驟可做為新的專案新增,無需進一步建置或安裝組建伺服器來處理負載。
AWS CodePipeline ‒ 建置功能
AWS CodePipeline — 原始檔和建置階段圖中所顯示的原始檔和建置階段,以及支援程序和自動化,可協助您的團隊轉換至持續整合。到達此成熟度時,開發人員需要定期注意建置和測試結果。他們也需要發展及維持狀況良好的單元測試基礎。而這反過來又會增強整個團隊對 CI/CD 管道的信心,進一步推動其採用。
AWS CodePipeline 階段