CI/CD 管道的试金石 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CI/CD 管道的试金石

在化学中,石蕊纸(litmus paper)是一种用特殊的红色或蓝色染料处理的薄纸,用于确定物质的酸度。酸会使蓝色的石蕊纸变为红色,碱会使红色的石蕊纸变成蓝色,中性物质根本不会影响纸张的颜色。

litmus paper 确定酸度的方法是测量物质的pH值。如果 pH 值高于 8,则为酸性;如果低于 5,则为碱性;如果在 5 到 8 之间,则为中性。同样,C I/CD 试金石可以帮助您测量管道的 CI/CD 水平。

测试您的管道是否完全 CI/CD
  1. 从 0 的分数开始。

  2. 回答以下每个问题,并在每次回答 “” 时在分数上加 1:

    • 我们的存储库是否都只有一个用于部署到环境的主分支?

    • 我们是否经常将代码提交到主分支并避免使用长时间运行的功能分支?

    • 我们的管道有单一入口吗? 换句话说,我们的管道是否只从每个存储库中提取一次代码?

    • 我们有多个部署环境吗?

    • 当管道未运行时,我们的上层和下层环境通常是同步的吗?

    • 在部署之前,我们会对代码进行测试吗?

    • 在升级到下一个环境之前,我们是否在环境上运行测试?

    • 我们的管道是否会进行完全回滚并在失败后退出?

    • 从故障中恢复时,我们的管道是否会从第一步开始重启?

    • 我们修复生产中的错误的过程是否与将功能发布到生产环境时所遵循的流程相同?

    • 我们是否使用某种形式的基础设施即代码 (IaC) 模板来部署代码?

  3. 回答以下每个问题,每次回答 “” 时,在分数上加 1:

    • 我们是否曾经从主分支以外的分支直接部署到部署环境中?

    • 我们是否曾经直接从任何分支部署到上层环境或生产环境?

    • 我们是否经常在上层环境中发现低级环境中不存在的错误?

    • 在部署过程中,我们是否曾经绕过较低的环境?

    • 我们是否要等到预定的发布时间才部署到生产环境?

    • 我们是否定期在生产环境的控制台中进行更新?

    • 为了完成部署,是否必须在生产环境的控制台中完成任何手动部署步骤?

    • 是否有多个人对生产环境具有写入权限?

    • 是否有超过五个人拥有生产环境的写入权限?

  4. 将分数除以 2。这是您的管道的 CI/CD 分数。

  5. 比较您的管道CI/CD score to the following table to determine your pipeline's CI/CD级别。

    CI/CD 分数

    CI/CD 级别

    9.5 或更高版本

    完全 CI/CD

    8—9

    主要是 CI/CD

    5—7

    中性

    低于 5

    不是 CI/CD

如果你的分数低于 8,我们建议你设定一个目标,逐渐向下一个级别移动。当该目标实现时,产品利益相关者应评估是否以及何时应设定新目标。本练习的目的不一定是倡导更改您的管道,而是让人们了解完全 CI/CD 部署流程是什么样子以及您的管道目前在该频谱上的位置。