본문 바로가기
Study/Jenkins

Jenkins Pipeline 스크립트 작성해보기 - Job 일괄 실행하기

by Zeromk2 2021. 5. 20.
728x90

저는 CI/CD 도구로 Jenkins를 주로 사용하는 편입니다.

강점이라면 많은 플러그인 들이고 또 하나는 제가 자주 써서 익숙하게 사용할 수 있다는 점이지요.

(사실 현역 프로그램중에 고르라면 내가 편한게 최고 아니겠습니까?)

 

Jenkins에는 수많은 Job들이 등록되어 있고 실행이 되고 있습니다.

QA Engineer의 경우 자동화 테스트를 Job으로 만들어서 관리하게 될텐데 

개발 환경이나 실제 서비스되는 라이브 환경을 검증 할 때 하나의 Job만 실행하여 검증을 할 수 없는 경우는

여러개의 Job을 실행하여 검증을 진행하게 됩니다.

이럴때 이러한 Job들을 묶어서 하나의 Job으로 실행되도록 할 수 있습니다. 

바로 Jenkins Pipeline 으로 가능합니다.

 

새로운 Item을 선택하면 Job을 생성할 수 있는 리스트 화면이 나오는데 이곳에서

Pipeline 을 선택해줍니다.

 

이곳에서 Definition으로 Pipeline script를 선택 한 다음 하단의 영역에 스크립트를 작성하시면 됩니다.

 

pipeline {
    agent none
    stages
    {
        stage(‘send cash’)
        {
            steps
            {
                echo(‘Not implemented’)
            }
        }
        stage(‘Legacy’)
        {
            steps
            {
                script
                {
                    try
                    {
                        build job: ‘LEGACY_BACK_END_TEST_AUTOMATION’, parameters: [ string(name: ‘SelectServer’, value: “${SelectServer}“)]
                    } catch (e)
                    {
                        echo ‘LEGACY TEST Fail!! But Im Running!’
                    }
                }

            }
        }
        stage(‘V1’)
        {
            steps
            {
                 script
                {
                    try
                    {
                        build job: ‘V1_BACK_END_TEST_AUTOMATION’ , parameters: [ string(name: ‘SelectServer’, value: “${SelectServer}“)]
                    } catch (e)
                    {
                        echo ‘V1 TEST Fail!! But Im Running!’
                    }
                }

            }
        }
        stage(‘V2’)
        {
            steps
            {
                 script
                {
                    try
                    {
                        build job: ‘V2_BACK_END_TEST_AUTOMATION’ , parameters: [ string(name: ‘SelectServer’, value: “${SelectServer}“)]
                    } catch (e)
                    {
                        echo ‘V2 TEST Fail!! But Im Running!’
                    }
                }
            }
        }
    }
}

 

stages
   ㄴ stage
        ㄴ steps
             ㄴ script

의 구조라고 생각하시면 됩니다.

 

build job: 

이곳에는 실제 만들어져 있는 Job의 이름을 쓰시면 됩니다.

그리고 해당 Job에서 사용하는 파라미터가 있을 경우 뒤에 있는 parameters 부분을 추가해주시면 됩니다.

 

다 완성되면 해당 Pipeline Job을 돌려봅니다.

작성한 Job 순서대로 잘 실행되는 것을 볼 수 있습니다.

댓글