在 AWS 上的 CI/CD 入门

在 AWS 上自动化部署

Dunieski Otano

Amazon Web Services Solutions Architect

持续循环

在 AWS 上自动化部署

讲师介绍

dunieski-otano-instructor-with-aws-certifications.png

在 AWS 上自动化部署

为何需要 CI/CD

  • 手动部署缓慢且易出错
  • 开发者推送代码后需等待他人部署
  • CI/CD 将代码到生产全程自动化
  • 发布更快,错误更少

 

ci_cd

在 AWS 上自动化部署

CI/CD 生命周期

  • Source:代码提交到仓库
  • Build:编译代码并安装依赖
  • Test:自动化测试验证构建
  • Deploy:发布应用;工件在各阶段传递

生命周期

在 AWS 上自动化部署

AWS Code 服务概览

  • CodeCommit:源代码管理(Git 仓库)
  • CodeBuild:编译、测试与打包
  • CodeDeploy:发布到 EC2、Lambda 或 ECS
  • CodePipeline:编排所有阶段

   

 

AWS Code 服务图

在 AWS 上自动化部署

CI、持续交付与持续部署对比

  • 持续集成(CI):每次推送均合并、构建并测试
  • 持续交付:自动部署到预发布;生产需人工批准(最常见)
  • 持续部署:所有通过的构建自动上线

 

三种模型

在 AWS 上自动化部署

CodePipeline 如何统筹一切

cp

  • CodePipeline 将各阶段串联
  • 每个阶段包含一个或多个动作
  • 源码变更会自动触发流水线
  • 任一阶段失败即停止
在 AWS 上自动化部署

真实世界的流水线示例

  • Source:开发者推送到 CodeCommit
  • Build:CodeBuild 运行测试并打包 ZIP
  • Staging:CodeDeploy 部署到预发布
  • 审批 => 生产:负责人批准后部署到生产

 

真实流水线示例

在 AWS 上自动化部署

让我们一起练习吧!

在 AWS 上自动化部署

Preparing Video For Download...