본문 바로가기

Build/Jenkins

[Infrastructure/Jenkins] 파이프라인 소개 및 젠킨스 웹 UI로 파이프라인 만들기

파이프라인(Pipeline)

젠킨스의 파이프라인은 지속적인 통합(CI, Continuous Integration)과 배포(CD, Continuous Delivery)를 지원하기 위한 플러그인의 집합입니다. 파이프라인은 스크립트로 구현되며  젠킨스에서 지원하는 도메인 특화 언어(DSL, Domain-Specific Languages)로 작성합니다. 스크립트는 젠킨스 웹 UI를 사용하는 것보다 "코드"에 가까운 모델로써 CI/CD의 세부적인 내용까지 컨트롤 할 수 있습니다.

출처 : https://www.jenkins.io/doc/book/pipeline/getting-started/

사전 요구 사항

젠킨스 파이프라인을 사용하려면 다음 조건을 만족해야 합니다.

  • Jenkins 2.x 이상(1.642.3 이전 버전에서도 동작하지만 권장하지 않습니다)
  • 파이프라인 플러그인(젠킨스를 권장 설치로 진행 시 디폴트로 설치됩니다)

파이프라인의 종류

젠킨스의 파이프라인은 Declarative and Scripted Pipeline으로 구분 할 수 있습니다.

  • Declarative Pipeline
    최신 버전에 해당하는 파이프라인입니다. 기존 Scripted Pipeline에 비해 다양한 파이프라인 구문을 제공하며 가독성이 좋습니다. 젠킨스에서는 최신 버전에 해당하는 Declarative Pipeline 사용을 권장하고 있습니다.
  • Scripted Pipeline
    이전 버전에 해당하는 파이프라인입니다. 제한된 형식의 Groovy 구문으로 작성됩니다.

파이프라인 생성 방법

젠킨스에서 파이프라인을 생성하고 관리하는 방법은 다음과 같습니다.

  • 웹 UI
    젠킨스 웹 UI의 전통적인 방법을 사용하여 파이프라인을 생성합니다.
  • Blue Ocean
    Blue Ocean UI를 사용하여 파이프라인의 Jenkinsfile을 작성하고 커밋 할 수 있습니다.
  • SCM
    파이프라인의 Jenkinsfile을 직접 작성하고 프로젝트에서 사용중인 SCM 툴에 커밋합니다.

웹 UI로 파이프라인 만들기

젠킨스에서는 Jenkinsfile을 작성하는 것을 권장합니다. 하지만 웹 UI 사용이 더 직관적이고 쉽기 때문에 파이프라인을 이제 막 입문하는 경우라면 웹 UI 먼저 학습하는 것이 좋은 방법일 수 있습니다.

우선 젠킨스 웹에 접속 및 로그인하고 대시보드 > 새로운 Item에 들어갑니다. 

이어서 Enter an item name에 파이프라인 이름을 입력합니다. 그리고 하단 Item 항목 중 Pipeline을 선택하고 OK 버튼을 클릭하면 파이프라인 Item이 생성됩니다.

파이프라인 Item이 생성되면 파이프라인의 구체적인 내용에 대해서 정의 할 수 있습니다. 페이지 상단을 보면 General, Build Triggers, Advanced Project Options, Pipeline으로 총 4개 섹션으로 구성됩니다.

모든 섹션을 건너 뛰고 Pipeline 섹션으로 바로 이동합니다. 섹션에서 Definition > Pipeline script를 선택합니다(디폴트).

Script text area에 다음 파이프라인 스크립트를 입력합니다. 스크립트가 실행되면 echo 구문에 의해서 'Hello World'가 출력됨을 예상 할 수 있습니다.

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

최종적으로 Save 버튼을 클릭하여 파이프라인 스크립트를 저장합니다.

화면이 이동하면 Dashboard > [ 파이프라인 이름 ] > Build Now을 클릭하여 파이프라인 스크립트를 실행 할 수 있습니다.

빌드가 시작되면 하단부의 Build History 등에서 빌드 진행 상황을 확인 할 수 있습니다.

Build History의 #1을 클릭하여 첫 번째 빌드 진행 상황을 확인합니다. Dashboard > [ 파이프라인 이름 ] > #1 > Console Output으로 입장합니다.

파이프라인 스크립트가 정상적으로 실행되었다면 Finished: SUCCESS가 출력됩니다. 또한 우리가 작성했던 스크립트 내용대로 콘솔 출력문 중간쯤에 'Hello World' 역시 확인 할 수 있습니다.