Jenkins - Pipeline > Jenkins 자료실

본문 바로가기
사이트 내 전체검색

Jenkins 자료실

Jenkins - Pipeline

페이지 정보

profile_image
작성자 snow
댓글 0건 조회 188회 작성일 24-10-25 16:09

본문



Jenkins Pipeline 개요



이 게시글에서는 Jenkins Pipeline 개요에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다.





1. Jenkins Pipeline이란?



Jenkins Pipeline(이하 "파이프라인")은 Jenkins에서 CI/CD 환경을 구현할 수 있도록 도와주는 강력한 플러그인입니다. 파이프라인을 통해 소프트웨어 개발 프로세스에서 코드의 빌드, 테스트, 배포 단계를 자동화하여 지속적인 소프트웨어 전달을 가능하게 합니다.
파이프라인을 사용하면 전체 소프트웨어 개발 주기를 효율적으로 관리할 수 있습니다. 코드가 소스 컨트롤에서 사용자에게 전달되기까지의 과정을 파이프라인이 자동으로 처리합니다. 이는 코드 변경 사항이 각 단계별 빌드, 테스트, 배포 단계를 거치며 최종적으로 사용자에게 안정적으로 제공될 수 있도록 보장합니다.





2. Jenkinsfile로 파이프라인 정의하기



파이프라인 정의는 주로 Jenkinsfile이라는 파일에 작성하여 소스 코드 관리(SCM) 시스템에 함께 저장합니다. 이를 통해 코드 변경 시 파이프라인도 관리되고, 버전 관리가 가능합니다. 또한 각 프로젝트 구성원들이 파이프라인 코드를 쉽게 확인하고 수정할 수 있어 협업에 용이합니다.



예시 Jenkinsfile 정의는 다음과 같습니다:



```groovy


pipeline {


  agent any


  stages {


   stage('Build') {


    steps {


     sh 'make'


    }


   }


   stage('Test') {


    steps {


     sh 'make test'


     junit 'reports/**/*.xml'


    }


   }


   stage('Deploy') {


    steps {


     sh 'make deploy'


    }


   }


  }


}


```




이 명령을 실행할 시 'make'로 빌드를 수행하고, 'make test'로 테스트를 실행하며, 'make deploy'로 배포를 수행하는 파이프라인을 정의할 수 있습니다.





3. 선언형(Declarative)과 스크립트형(Scripted) 파이프라인



Jenkins 파이프라인은 두 가지 방식으로 작성할 수 있습니다: 선언형과 스크립트형. 선언형 파이프라인은 비교적 단순하고 직관적이며, 주로 초보자나 기본 파이프라인 설정에 적합합니다. 반면 스크립트형 파이프라인은 Groovy 기반의 자유도가 높은 스크립트를 작성할 수 있어, 복잡한 요구 사항을 충족하기에 유리합니다.



각 파이프라인의 기본 예시는 다음과 같습니다.



```groovy


// 선언형 파이프라인


pipeline {


  agent any


  stages {


   stage('Build') { steps { sh 'make' } }


   stage('Test') { steps { sh 'make test' } }


   stage('Deploy') { steps { sh 'make deploy' } }


  }


}


```



```groovy


// 스크립트형 파이프라인


node {


  stage('Build') { sh 'make' }


  stage('Test') { sh 'make test' }


  stage('Deploy') { sh 'make deploy' }


}


```





4. 파이프라인 구성 요소



파이프라인의 구성 요소는 크게 네 가지로 나눌 수 있습니다: 파이프라인 자체, 노드, 스테이지, 스텝입니다.



4.1 파이프라인



파이프라인은 전체 빌드 프로세스를 정의하는 코드 블록입니다. 여기서 각 단계가 설정되고, 이를 통해 애플리케이션을 빌드하고 테스트하며 배포하는 전 과정을 기술할 수 있습니다.



4.2 노드(Node)



노드는 Jenkins 환경 내에서 파이프라인을 실행할 수 있는 머신입니다. 스크립트형 파이프라인에서는 주로 node 블록 내에서 작업이 이루어집니다.



4.3 스테이지(Stage)



스테이지는 파이프라인 내에서 개별적인 작업 단계를 구분짓는 블록입니다. 빌드, 테스트, 배포 등의 각 단계는 스테이지로 구분하여 파이프라인의 진행 상태를 직관적으로 파악할 수 있습니다.



4.4 스텝(Step)



스텝은 파이프라인이 수행할 단일 작업을 의미합니다. 예를 들어, sh 'make'라는 스텝은 'make' 명령을 실행하라는 지시를 의미합니다. 이는 특정 시점에 수행되어야 할 작업을 Jenkins에 전달합니다.





5. 파이프라인 활용 예시



아래 예시는 Jenkinsfile을 이용한 간단한 선언형 파이프라인 설정입니다.



```groovy


pipeline {


  agent any


  options {


   skipStagesAfterUnstable()


  }


  stages {


   stage('Build') { steps { sh 'make' } }


   stage('Test') {


    steps {


     sh 'make check'


     junit 'reports/**/*.xml'


    }


   }


   stage('Deploy') { steps { sh 'make publish' } }


  }


}


```




위의 예제는 make 명령을 사용하여 빌드, 테스트, 배포를 자동화하는 파이프라인을 구성합니다. 'skipStagesAfterUnstable' 옵션을 사용하여 특정 스테이지가 실패할 경우 이후 스테이지는 건너뛰게 설정할 수 있습니다.





6. 결론



Jenkins 파이프라인은 자동화 작업을 코드로 작성하여, 버전 관리와 협업이 용이한 환경을 제공합니다. 이 게시글에서는 파이프라인의 기본 구성 요소 및 예시를 통해 시니어 OS 엔지니어가 파이프라인의 동작 원리를 쉽게 이해할 수 있도록 설명했습니다. Jenkinsfile을 통해 파이프라인을 정의함으로써, 소프트웨어 개발 프로세스를 효율적으로 자동화할 수 있는 강력한 기능을 갖추게 될 것입니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
1,021
어제
2,299
최대
3,935
전체
1,223,862
Copyright © www.linuxdata.org All rights reserved.