

# 持续集成/持续交付的途径
<a name="a-pathway-to-continuous-integrationcontinuous-delivery"></a>

 可以将 CI/CD 描绘成一个管道（请参阅下图），其中新代码在一端提交，在一系列阶段（源代码、构建、暂存和生产）中进行测试，然后作为生产就绪代码发布。如果您的组织不熟悉 CI/CD，则可以通过迭代方式处理此管道。这意味着您应该从小处着手，在每个阶段进行迭代，以便您能够以可帮助组织发展壮大的方式理解和开发代码。 

![CI/CD 管道](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/image2.png)


*CI/CD 管道*

 CI/CD 管道的每个阶段都被构造为交付过程中的一个逻辑单元。此外，每个阶段都充当审查代码某个方面的一道关卡。随着代码在管道中推进，假设代码的质量在后面的阶段会更高（因为代码的更多方面持续得到验证）。在早期阶段发现的问题会阻止代码在管道中推进。测试的结果会立即发送给团队，如果软件没有通过该阶段，所有后续的构建和发布工作都会停止。 

 这些阶段是建议。您可以根据业务需求调整各个阶段。对于多种类型的测试、安全性和性能，可以重复某些阶段。根据项目的复杂性和团队的结构，某些阶段可以在不同的级别重复多次。例如，一个团队的最终产品可以成为下一个团队的项目中的依赖项。这意味着第一个团队的最终产品随后将作为下一个团队的项目中的构件。 

 CI/CD 管道的存在将对组织能力的成熟过程产生重大影响。组织应该从小步骤开始，而不是试图建立一个完全成熟的管道（即，一开始就有多个环境、多个测试阶段并在所有阶段都实现自动化）。请记住，即使是拥有高度成熟的 CI/CD 环境的组织，仍需要不断地改进其管道。 

 建立一个支持 CI/CD 的组织是一个过程，在这一过程中有许多目的地。下一节将讨论您的组织可以采取的一种可能途径，从持续集成开始直至持续交付的各个层面。 