Jenkins Pipeline
Jenkins는 연속적인 작업을 하나의 파이프라인으로 묶어서 관리할 수 있도록 하는 Pipeline 플러그인을 제공한다.
개발자가 개발한 소프트웨어를 사용자에게 제공하기 위해서는 개발한 소스를 빌드, 테스트, 배포하는 일련의 과정이 필요하다. 개발한 소프트웨어를 유지보수하기 위해서는 위 과정이 반복적으로 발생하게 되는데, 반복적으로 발생하는 빌드, 배포 과정의 자동화와 함께 CI/CD(Continuous Integration / Continuous Delivery)라는 방법론이 자리 잡았다.
Continuous Delivery (CD)는 빌드와 테스트가 완료되어 Git과 같은 버전 제어 저장소에 업로드된 소프트웨어를 사용자에게 전달하는 과정을 자동화하는 것을 의미한다. 대표적인 CD 도구인 Jenkins는 Pipeline domain-specific language (DSL) 구문을 통해 '코드'로 단순한 것부터 복잡한 수준의 배포 파이프라인을 구성할 수 있는 도구를 제공한다.
이 글에서는 간단히 Jenkins 파이프라인 구성 방법을 정리하기 위해 예제로 제공하는 파이프라인 생성 정도만 해보려고 한다.
플러그인 설치
Jenkins 관리 > 플러그인 관리로 이동하여 Pipeline 플러그인이 설치되어 있는지 확인한다.
설치되어 있지 않으면 설치한다.
프로젝트 생성
Pipeline으로 구성할 프로젝트를 생성한다.
1. 왼쪽 메뉴에서 새로운 Item 클릭
2. 이름과 아이템 유형 설정
유형은 Pipeline을 선택한다.
OK를 클릭하면 빈 프로젝트가 바로 생성된다.
3. 프로젝트 구성 페이지에서 Pipeline 항목으로 이동
Pipeline 항목에서 어떠한 작업을 할 건지 정의할 수 있는데, 이 글에서는 단순 예제로 생성해 본다. 오른쪽 드롭다운 박스에서 Hello World를 선택했다.
선택하면 파이프라인 정의가 자동으로 채워지는데, 대충 Hello라는 이름의 stage에서 Hello world라는 문자열을 출력하는 것으로 보인다. 그대로 저장한다.
파이프라인 실행
프로젝트 페이지 왼쪽 메뉴에서 지금 빌드 버튼을 눌러 생성한 파이프라인을 실행한다.
이상이 없으면 빌드가 성공하며 Stage View 항목에서 Stage 별로 실행 이력, 로그 등을 확인할 수 있다.
Hello Stage의 로그는 다음과 같다.
또는 빌드 이력의 console output에서 다음과 같은 실행 로그를 확인할 수 있다.
참고 문서
https://www.jenkins.io/doc/book/pipeline/