

# 管道与 Jenkins 的集成
<a name="pipeline-integration-with-jenkins"></a>

 可以使用 Jenkins 构建工具[创建交付管道](https://www.jenkins.io/doc/book/pipeline/getting-started/)。这些管道使用标准任务，而这些任务定义用于实施持续交付阶段的步骤。但是，对于较大的项目，这种方法可能不是最佳选择，因为管道的当前状态不会在 Jenkins 重启之间持续存在，实现手动批准并不简单，而且跟踪复杂管道的状态可能很复杂。

 相反，AWS 建议您使用 [AWS Code Pipeline 插件](https://wiki.jenkins-ci.org/display/JENKINS/AWS+CodePipeline+Plugin)通过 Jenkins 实现持续交付。该插件允许使用类似 Groovy 的域特定语言来描述复杂的工作流，并可用于编排复杂的管道。AWS Code Pipeline 插件的功能可以通过使用附属插件来增强，例如 [Pipeline Stage View](https://plugins.jenkins.io/aws-codepipeline/) 插件（用于直观展示在管道中定义的阶段的当前进度）或 [Pipeline Multibranch 插件](https://plugins.jenkins.io/workflow-multibranch/)（对来自不同分支的构建进行分组）。

 AWS 建议您将管道配置存储在 *Jenkinsfile* 中，并将其签入到源代码存储库中。这样，就可以跟踪对管道代码的更改，在使用 Pipeline Multibranch 插件时这会变得更加重要。AWS 还建议您将管道划分为多个阶段。这会对管道步骤进行逻辑分组，并使 Pipeline Stage View 插件能够直观展示管道的当前状态。 

 下图显示一个 Jenkins 管道示例，其中包含由 Pipeline Stage View 插件直观展示的四个已定义阶段。 

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


*由 Pipeline Stage View 插件直观展示的 Jenkins 管道的四个已定义阶段*