

# 从最简可行管道开始，以实现持续集成
<a name="starting-with-a-minimum-viable-pipeline-for-continuous-integration"></a>

 您的组织实现持续交付的旅程始于最简可行管道 (MVP)。正如[实施持续集成和持续交付](implementing-continuous-integration-and-continuous-delivery.md)中所讨论，团队可以从一个非常简单的流程开始，例如实施一个管道，以执行代码样式检查或在不进行部署的情况下执行单个单元测试。 

 一个关键组件是持续交付编排工具。为了帮助您构建此管道，Amazon 开发了 [AWS CodeStar](https://aws.amazon.com/codestar)。 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/aws-codestar-setup.png)


*AWS CodeStar 设置页面*

 AWS CodeStar 将 AWS CodePipeline、AWS CodeBuild、AWS CodeCommit 和 AWS CodeDeploy 与集成的设置流程、工具、模板和控制面板结合使用。AWS CodeStar 提供了您在 AWS 上快速开发、构建和部署应用程序所需的一切。这让您可以更快地开始发布代码。已经熟悉 AWS 管理控制台并寻求更高级别控制的客户可以手动配置他们选择的开发工具，并可以根据需要预置各项 AWS 服务。 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codestar-dashboard.png)


*AWS CodeStar 控制面板*

 AWS CodePipeline 是一项 CI/CD 服务，可通过 AWS CodeStar 或通过 AWS 管理控制台使用，以进行快速、可靠的应用程序和基础设施更新。在每次代码发生更改时，AWS CodePipeline 都会根据您定义的发布流程模型构建、测试和部署代码。这使您能够快速而可靠地提供各种功能和更新。您可使用我们提供的针对常用第三方服务（如 GitHub）的预先构建的插件，或通过将您的自定义插件集成到您发布流程中的任何阶段，来轻松构建端到端解决方案。使用 AWS CodePipeline，您只需按实际使用量付费。无需预付费用或长期承诺。 

 AWS CodeStar 和 AWS CodePipeline 的步骤直接映射到[源代码、构建、暂存和生产 CI/CD 阶段](testing-stages-in-continuous-integration-and-continuous-delivery.md)。虽然需要持续交付，但您可以从一个简单的两步管道开始，此管道检查源代码库并执行构建操作： 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-source-build.png)


* AWS CodePipeline — 源代码和构建阶段*

 对于 AWS CodePipeline，源代码阶段可以接受来自 GitHub、AWS CodeCommit 和 Amazon Simple Storage Service (Amazon S3) 的输入。自动执行构建流程是实施持续交付并迈向持续部署的关键性的第一步。消除人工参与生成构建构件过程可以减轻团队的负担，最大限度地减少因手动打包而引入的错误，并允许您更频繁地开始打包可使用的构件。 

 AWS CodePipeline 与 AWS CodeBuild 这一完全托管式构建服务无缝协作，以便更轻松地在管道中设置用于打包代码和运行单元测试的构建步骤。使用 AWS CodeBuild，您无需预置、管理或扩展自己的编译服务器。AWS CodeBuild 可以持续扩展并同时处理多项构建任务，因此您的构建任务不会在队列中等待。AWS CodePipeline 还与 Jenkins、Solano CI 和 TeamCity 等编译服务器集成。 

 例如，在接下来的构建阶段，三个操作（单元测试、代码样式检查和代码指标收集）并行运行。使用 AWS CodeBuild，可以将这些步骤添加为新项目，而无需进一步构建或安装编译服务器来处理负载。 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-build-functionality.png)


*AWS CodePipeline – 构建功能*

图（*AWS CodePipeline — 源代码和构建阶段*）中所示的源代码和构建阶段以及支持流程和自动化可为团队向持续集成过渡提供支持。在这个成熟度级别上，开发人员需要定期关注构建和测试结果。他们还需要培育和维护一个正常运行的单元测试基地。这反过来又会增强整个团队对 CI/CD 管道的信心，并进一步推动对它的采用。 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/codepipeline-stages.png)


* AWS CodePipeline 阶段*