OPS05-BP04 使用构建和部署管理系统
使用构建和部署管理系统。这些系统可以减少手动过程引起的错误,并减少部署更改的工作量。
在 AWS 中,您可以使用 AWS 开发人员工具
期望结果:构建和部署管理系统支持组织的持续集成/持续交付(CI/CD)系统,该系统提供使用正确配置自动进行安全部署的功能。
常见反模式:
-
在开发系统上编译代码后,将可执行文件复制到生产系统中,但它无法启动。本地日志文件显示这是因为缺少依赖项所致。
-
成功在开发环境中构建了具有新功能的应用程序,并将代码送交质量检查(QA)。由于缺少静态资产,它没有通过质量检查。
-
星期五,经过大量的努力,成功地在开发环境中手动构建了应用程序,包括新编码的功能。星期一,无法重复支持成功构建应用程序的步骤。
-
执行为新版本创建的测试。花费了接下来一周的时间来设置测试环境,并执行所有现有的集成测试,然后执行性能测试。新代码产生了难以接受的性能影响,因此必须重新开发并测试。
建立此最佳实践的好处:制定相应机制来管理活动的构建和部署。这样,可以减少执行重复任务的工作量,让团队成员腾出时间专注于高价值的创造性任务,还可以减少手动程序导致的错误。
在未建立这种最佳实践的情况下暴露的风险等级:中
实施指导
构建和部署管理系统用于跟踪和实施变更,减少手动流程导致的错误,并减少安全部署所需的工作量。将集成和部署管道完全自动化,从代码签入到构建、测试、部署和验证都包含在内。这可以缩短准备时间,降低成本,鼓励更频繁地进行更改,减少工作量并增进协作。
实施步骤

图中显示了使用 AWS CodePipeline 和相关服务的 CI/CD 管道
-
使用版本控制系统来存储和管理资产(例如文档、源代码和二进制文件)。
-
使用 CodeBuild 来编译源代码,运行单元测试,并生成可供部署的构件。
-
使用 CodeDeploy 作为部署服务,可以自动将应用程序部署到 Amazon EC2
实例、本地实例、无服务器 AWS Lambda 函数或 Amazon ECS 。 -
监控部署。
资源
相关最佳实践:
相关文档:
相关视频: