使用 CodePipeline 建立管線
在 AWS 上自動化部署
Dunieski Otano
Amazon Web Services Solutions Architect
多階段管線
CodePipeline 管線結構
管線是由多個
階段(stage)
組成的序列
每個階段包含
動作群組
與
動作
動作會產生與消耗
成品(artifact)
(儲存在 S3)
下一個階段會將成品作為輸入
串接來源、建置與部署
來源階段
:CodeCommit 偵測 push,輸出來源成品
建置階段
:CodeBuild 接收來源,輸出建置成品
部署階段
:CodeDeploy 接收建置成品,部署到目標
每次推送程式碼時,管線會端到端執行
人工審核動作
人工審核
:在階段之間加入人工關卡
管線會暫停,直到有人核准或拒絕
常見用法:作為 Staging 與 Production 間的關卡
狀態顯示「
Waiting for approval
」,支援 SNS 通知
階段轉換與管線控制
啟用/停用
階段轉換
停用可在特定點暫停管線
重試失敗動作
,不需重啟整條管線
手動釋出變更
,推送指定修訂版
管線事件通知
CodePipeline 會將事件送至
Amazon EventBridge
事件包含:管線開始、階段成功、階段失敗
建立
EventBridge 規則
將事件路由到目標
SNS 主題用於電子郵件/SMS 警示
Lambda 函式用於自訂自動化
事件詳細資訊包含管線名稱、階段名稱與失敗原因
多環境管線設計
使用單一管線部署到
多個環境
建置一次再推進:Dev -> Staging -> Approval -> Prod
同一個成品貫穿所有環境
測過的就是實際部署的內容
一起來練習吧!
在 AWS 上自動化部署
Preparing Video For Download...