

# 與 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 外掛程式的功能可透過使用[管線階段檢視外掛程式](https://plugins.jenkins.io/aws-codepipeline/) (可視覺化管道中所定義之階段的目前進度) 或[管道多重分支外掛程式](https://plugins.jenkins.io/workflow-multibranch/) (可將來自不同分支的組建分組) 增強。

 AWS 建議您將管道組態儲存在 *Jenkinsfile* 中，並將其簽入原始檔儲存庫。這可讓您追蹤對管道程式碼的變更，而這項工作在使用「管道多重分支外掛程式」時會變得更為重要。AWS 也建議您將管道分成多個階段。這可透過邏輯方式將管道步驟分組，也可以讓「管道階段檢視外掛程式」視覺化管道目前的狀態。 

 下圖顯示一個 Jenkins 管道範例，其中包括四個並透過「管道階段檢視外掛程式」視覺化的定義階段。 

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


*Jenkins 管道的定義階段，透過「管道階段檢視外掛程式」視覺化*