

# Jenkins와 파이프라인 통합
<a name="pipeline-integration-with-jenkins"></a>

 Jenkins 빌드 도구를 사용하여 [제공 파이프라인을 생성](https://www.jenkins.io/doc/book/pipeline/getting-started/)할 수 있습니다. 이 파이프라인은 지속적 전달 단계를 구현하기 위한 단계를 정의하는 표준 작업을 사용합니다. 그러나 Jenkins가 다시 시작될 때 파이프라인의 현재 상태가 유지되지 않고 수동 승인을 구현하는 것이 간단하지 않으며 복잡한 파이프라인의 상태를 추적하는 것이 복잡할 수 있기 때문에 이러한 접근 방식은 대규모 프로젝트에 적합하지 않을 수 있습니다. 

 대신 AWS에서는 [AWS Code Pipeline Plugin](https://wiki.jenkins-ci.org/display/JENKINS/AWS+CodePipeline+Plugin)을 사용하여 Jenkins로 지속적인 전달을 구현하는 것이 좋습니다. 이 플러그 인을 사용하면 Groovy와 유사한 도메인 별 언어를 사용하여 복잡한 워크 플로를 설명할 수 있으며 복잡한 파이프라인을 오케스트레이션하는 데 사용할 수 있습니다. AWS Code Pipeline Plugin의 기능은 파이프라인에 정의된 단계의 현재 진행 상황을 시각화하는 [Pipeline Stage View Plugin](https://plugins.jenkins.io/aws-codepipeline/) 또는 서로 다른 분기에서 빌드를 그룹화하는 [Pipeline Multibranch Plugin](https://plugins.jenkins.io/workflow-multibranch/)과 같은 위성 플러그 인을 사용하여 향상할 수 있습니다. 

 AWS에서는 파이프라인 구성을 *Jenkinsfile*에 저장하고 소스 코드 리포지토리에 체크인할 것을 권장합니다. 이를 통해 파이프라인 코드의 변경 사항을 추적할 수 있으며 Pipeline Multibranch Plugin으로 작업할 때 더욱 중요해집니다. 또한 AWS에서는 파이프라인을 여러 단계로 나누는 것이 좋습니다. 이렇게 하면 파이프라인 단계를 논리적으로 그룹화하고 Pipeline Stage View Plugin이 파이프라인의 현재 상태를 시각화할 수 있습니다. 

 다음 그림은 Pipeline Stage View Plugin으로 시각화된 네 가지 정의된 단계가 있는 샘플 Jenkins 파이프라인을 보여줍니다. 

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


*Pipeline Stage View Plugin으로 시각화된 Jenkins 파이프라인의 정의된 단계*