AWS 上的 CI/CD 入門
在 AWS 上自動化部署
Dunieski Otano
Amazon Web Services Solutions Architect
持續循環
認識講師
為何需要 CI/CD
人工部署又慢又容易出錯
開發者推送程式碼後,還得等人部署
CI/CD 將程式碼到上線全程自動化
發布更快,錯誤更少
CI/CD 生命週期
Source
:提交程式碼到版本庫
Build
:編譯並安裝相依套件
Test
:自動化測試驗證建置
Deploy
:發布應用;產物在各階段流轉
AWS Code 服務總覽
CodeCommit
:版控(Git 儲存庫)
CodeBuild
:編譯、測試、封裝
CodeDeploy
:部署到 EC2、Lambda 或 ECS
CodePipeline
:協調所有階段
CI、連續交付與連續部署
Continuous Integration(CI)
:每次推送都合併、建置、測試
Continuous Delivery
:自動部署到測試環境;正式環境需人工核准(最常見)
Continuous Deployment
:所有通過的建置自動上線
CodePipeline 如何協調一切
CodePipeline 依序串接各階段
每個階段包含一個或多個
動作
原始碼變更會自動觸發管線
任一階段失敗,管線即停止
真實世界的管線範例
Source
:開發者推送到 CodeCommit
Build
:CodeBuild 執行測試並封裝 ZIP
Staging
:CodeDeploy 部署到測試環境
核准 => Production
:主管核准後部署到正式環境
一起來練習吧!
在 AWS 上自動化部署
Preparing Video For Download...