這次的單元將介紹如何在 AWS 雲端環境上建構 CICD 流程,讓每次上傳程式碼後,能夠自動化執行測試、部署等過程。
AWS 簡介
AWS(Amazon Web Services)是亞馬遜公司提供的雲端服務平台,涵蓋了各式各樣的雲端運算服務,包括計算服務(如 EC2 和 Lambda)、儲存服務(如 S3 和 EBS)、資料庫服務、網路服務等。
由於這次的主題是建立 CICD 流程,因此我們將使用 AWS 的以下三個服務:CodeBuild、CodeDeploy 和 CodePipeline。運作流程
為了避免過程中出現混亂,我們先來了解完成後的運作方式。以下這張圖可以作為參考:

圖源:https://www.ernestchiang.com/zh/notes/aws/codebuild/#文件
一般來說,在 CodePipeline 中,我們會選擇「程式碼來源」、「CodeBuild 項目」和「CodeDeploy 應用程式」,並設定三個相對應的階段內容。
當指定的程式碼分支發生變更時,CodePipeline 會收到最新的內容,並將其交給 CodeBuild。CodeBuild 會根據程式碼資料夾中的 buildspec.yml 文件來建構環境,並執行自動化測試。測試成功後,CodeDeploy 根據設定將程式碼部署到指定位置,如 S3 或本地伺服器等。
在這一過程中,若發生任何錯誤,該階段將會停止,並且你可以隨時重新執行該階段。所有過程的詳細記錄會存儲在 CloudWatch Logs 中。
需要注意的是,當某一階段成功完成後,CodePipeline 會自動觸發下一個階段的執行。因此,如果重新執行 CodeBuild 並成功,CodePipeline 會自動觸發 CodeDeploy 執行,無需手動操作。
建構流程
瞭解了運作流程後,接下來的最佳實踐是:首先建立 CodeBuild 和 CodeDeploy,然後使用 CodePipeline 來確認整體流程的運作。
程式碼來源
程式碼來源可以從許多版本控制系統獲取,例如 GitHub、AWS CodeCommit,或是直接從 Amazon S3 上儲存的程式碼。
由於接下來的 CodeBuild 部分較為細節,我們將在下一篇文章中進行深入介紹,這一篇先到這裡結束,掰掰~

















