使用 CodePipeline 构建流水线
在 AWS 上自动化部署
Dunieski Otano
Amazon Web Services Solutions Architect
多阶段流水线
CodePipeline 流水线结构
流水线由一系列
阶段
组成
每个阶段包含
操作组
与
操作
操作会生成并消费
制品
(存储于 S3)
下一阶段将制品作为输入
连接源、构建与部署
源阶段
:CodeCommit 检测到推送,输出源制品
构建阶段
:CodeBuild 接收源码,输出构建制品
部署阶段
:CodeDeploy 接收构建制品,部署到目标
每次代码推送都会端到端运行流水线
人工审批操作
人工审批
:阶段间的人为闸门
流水线暂停,直到有人批准或拒绝
常见用法:作为预生产到生产的闸门
状态显示 "
Waiting for approval
",支持 SNS 通知
阶段迁移与流水线控制
启用/禁用
阶段间迁移
禁用可在指定位置暂停流水线
重试失败的操作
,无需重启流水线
手动发布变更
,推送特定修订版
流水线事件通知
CodePipeline 将事件发送到
Amazon EventBridge
事件包括:流水线启动、阶段成功、阶段失败
创建
EventBridge 规则
将事件路由到目标
通过 SNS 主题发送邮件/SMS 警报
触发 Lambda 函数实现自定义自动化
事件详情包含流水线名、阶段名和失败原因
多环境流水线设计
单一流水线可部署到
多个环境
构建一次,逐级提升:Dev -> Staging -> Approval -> Prod
同一制品贯穿所有环境
测试即所部署,结果一致
让我们一起练习吧!
在 AWS 上自动化部署
Preparing Video For Download...