---
title: "Jenkins 파이프라인 사용 예제"
canonical: "https://wiki.kicco.com/space/JEN/33391927/Jenkins%20%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8%20%EC%82%AC%EC%9A%A9%20%EC%98%88%EC%A0%9C"
format: markdown
---
> Macro (toc)

## **개요**

---

본 문서는 Jenkins에서 파이프라인을 이용한 빌드에 대해 설명한다.

Jenkins파이프라인  구성은 아래 3가지 형태로 구성이 가능한데, 본 문서는 그 중 첫번째인 webadmin방식에 대해 설명한다

- <span style="color: #000000">Pipeline script : 일반적인 방식으로 Jenkins 파이프라인을 생성하여 Shell Script를 직접 생성하여 빌드하는 방식</span>
- <span style="color: #000000">Pipeline script from SCM : 사전 작성한 JenkinsFile을 형상관리 저장소에 보관하고, 빌드 시작 시 파이프라인 프로젝트에서 호출 실행하는 방식</span>
- <span style="color: #000000">Blue Ocean 기반 : UI기반하여 시각적으로 파이프라인을 구성하면, JenkinsFile이 자동으로 생성되어 실행되는 방식</span>

## **사전 구성 사항**

---

jenkins 파이프라인 플러그인 설치되어 있어야 한다. Jenkins설치 시 권장 플러그인들을 설치했으면 통상 문제없으며 보다 자세한 사항은[ Installing the Pipeline Plugin](https://jenkins.io/pipeline/getting-started-pipelines/#installing-the-pipeline-plugin) 을 참고한다.

## **파이프라인 간단 예제 실행**

---

**Jenkins > 새로운  Item** 항목에서 아래 그림처럼 파이프라인 프로젝트를 생성하고 예제 코드를 입력한다. 

> Macro (inline-media-image)

> Macro (inline-media-image)




<details>
<summary>Jenkins 파이프라인 간단 예제</summary>

```groovy
node{

    //init stage 시작
    stage("init"){
      sh "echo init"
    }

    //build stage 시작
    stage("build"){
      sh "echo 'start build' "
    }
 
    //deploy stage 시작
    stage("deploy"){
      sh "echo 'start deploy' "
    }
}
```
</details>


파이프라인 프로젝트(Pipeline-sample)에서 **Build Now**를 클릭하여  빌드를 수행한다.

> Macro (inline-media-image)

> Macro (inline-media-image)



Build결과 화면에서 파이프라인 스크립트에 기술된 init, build, deploy 스테이지 별로 빌드결과 구분되어 표시되며, 각 스테이지 결과위에 표시된 Logs를 클릭하면 해당 스테이지의 실행 로그를 볼 수 있다.

## **파이프라인 스크립트 작성 방식**

---

파이프라인 script를 작성하는 방식은 scriptive방식과 declarative 방식으로 구분된다. 하나의 프로젝트 안에서 두 방식을 혼용해서 사용할 수 없으며,

scriptive방식이 소스코드 기술 형태와 보다 유사하여 세밀한 작성이 가능하지만 좀 복잡하다고 할 수 있다.

- **Scripted Pipeline** : Groovy기반, Declarative보다 효과적으로 많은 기능을 포함하여 작성 가능. 하지만 작성 난이도가 높음
- **Declarative Pipeline** :  scriptive방식보다 쉽게 작성할 수 있음. Groovy기반이긴 하지만 groovy 문법을 잘 몰라도 됨.


> ℹ️ **참조 페이지**
> ℹ️ 
> ℹ️ - [Getting Started with Pipelines](https://jenkins.io/pipeline/getting-started-pipelines/)

> ℹ️ **연관된 페이지**
> ℹ️ 
> ℹ️ - [Jenkins 파이프라인 구성 - scriptive](https://kicwiki.atlassian.net/wiki/spaces/JEN/pages/33392055)
> ℹ️ - [Jenkins 파이프라인 구성 - declarative](https://kicwiki.atlassian.net/wiki/spaces/JEN/pages/33392057)