CI & CD/Jenkins

Jenkins Pipeline 셋팅하기

ZzangHo 2022. 3. 31. 15:28
728x90

회사에서 CI/CD Tool로 다들 많이 쓰는 Jenkins를 사용하고 있다.

Jenkins에 Pipeline이라는 기능이 있는데 해당 기능에 대해 정리를 좀 해보려고 한다.

 

Jenkins Pipeline

Jenkins Pipeline이란 연속적인 어떤 작업들을 이어서 실행해주는 Job의 그룹(?) 이라고 생각하면 될 것 같다.
Pipeline이란게 어떤 통로도 되지만 Pipeline을 이어 붙이듯이 작업들을 하나씩 연결하는 형태로 이해하였다.

 

Required

  • Jenkins

 

Jenkins에 Pipeline Plugin 확인

셋팅하기에 앞서 Jenkins에 Plugin이 설치가 되어 있는지 확인해보자
아래 그림 ①처럼 설치된 플러그인 목록에 Pipeline이 있으면 됩니다.

 

설치 된 Plugin 목록

 

 

Pipeline 만들기

Jenkins -> 새로운 Item을 누르면 아래와 같은 화면이 나온다. 아래 화면에서 Pipeline을 선택하고 Job 이름을 적고 생성해보자

 

 

생성을 하게 되면 Job 설정에 대한 페이지가 나오는데 제일 하단으로 내려 보면 다음과 같이 Pipeline 설정을 하는 영역이 나온다. 그 다음 아래 정보들을 입력하자

  • ① : git Url
  • ② : branch 정보
  • ③ : Jenkinsfile 이름

입력을 완료하면 대충 아래와 같은 그림일 것이다.

파이프라인 입력

 

간략히 설명을 해보면 git에서 소스를 가져온 다음 Jenkinsfile에 내용을 실행하는 것이다.

그렇다면 Jenkinsfile에는 어떤 내용이 있을까?

 

[Jenkinsfile]

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh 'mvn clean install -DskipTests'
            }
        }
    }
}

간단히 소스를 Build하는 script를 입력해두었다.

 

문법은 아래와 같다(참고 : https://blog.voidmainvoid.net/100)

  1. pipeline : 젠킨스 파이프라인 플러그인을 호출하기 위한 필수 외부 블록
  2. agent : 파이프라인을 실행하고 싶은 위치 정의
    any : 파이프라인이나 스테이지를 실행하기 위해 사용가능한 어느 agent도 사용 할 수 있음 정의 
  3. stages : stage의 모음
  4. steps : 실제 작업 수행하는 블록

 

이제 파이프라인을 실행해보면 의도한 대로

git에서 소스를 가져온 뒤 Build하는 그림이 그려질 것이다. 

한번 실행해보자

 

빌드 결과

 

 

예상했던 대로 동작을 한다 ㅎㅎ 끝