데이터과학 삼학년

젠킨스 파이프라인 관리 (공통화 활용) 본문

DevOps

젠킨스 파이프라인 관리 (공통화 활용)

Dan-k 2020. 11. 9. 17:59
반응형

젠킨스 파이프라인 관리

 

개요

  • 젠킨스 파이프라인 코드 관리를 위한 방법

 

현황 

  • 젠킨스 파이프라인은 pipeline script를 통해 사용하고 있음

    • 이렇게 사용하면 작은 창에 긴 pipeline을 쓰기 매우 불편

 

 

  • 파이프라인 설정 방법은 직접 script 작성 외 SCM (Source Code Management)으로 부터 파이프라인을 불러와 실행 시킬 수 있음 

 

 

 

적용 방법

1. pipeline script를 파일로 저장 

    • Git 과 (apache) Subversion 지원

 

 

2. git에 기존 pipeline을 아래와 같이 저장 (.groovy, Jenkisfile 등)

- Jenkisfile 예시

node {
    try{
        timeout(time:15, unit:'MINUTES') {
            stage('Code') {
                retry(3) {
                  sh """
                        if [ ! -d ".git" ]; then
                            rm -rf ./*
                            git clone git@00.000.0.0:test ./
                        else
                            git reset --hard origin/master
                            git pull origin master
                        fi
                   """
                }
            } 
        }
        timeout(time:30, unit:'MINUTES') {
            stage('test service') {
                retry(3) {
                    sh """
                        python3 test.py ${TEST_PROJECTS}
                    """
                }
            }
        }
    }
    catch(err) {
        currentBuild.result = 'FAILURE'
    }
    finally {
        step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: RECIPIENTS, sendToIndividuals: true])
    }
}

3. 파이프라인 파일 위치를 지정

 

 

 

장단점 

  • 장점

    •  git 에서 파이프라인 코드 관리

    •  파이프라인 변경 이력 관리 용이

  • 단점

    • 테스트를 위한 pipeline 변경 및 다수 실행에는 취약

    • custom 어려울 수 있음

 

활용성

  • 공통화 가능한 파이프 라인은 한개의 pipeline으로 일괄적으로 관리 가능

    • 통화 파일만 하나 만들어 놓고 모두 그 파이프라인을 참조해서 실행하도록 구성

 

728x90
반응형
LIST
Comments