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