- 목표
- 각 프로젝트 별로 Pipeline Script 작성시 반복 되는 코드 부분을 Shared Library로 분리
- Shared Library 소스 Git 생성
- Shared Library 구조
(root)
├─resources
│ │ └─grobal.yaml
│ ├─src
│ │ └─org
│ │ └─foo
│ │ └─bar.groovy
│ └─vars
│ │ └─main.groovy
//vars/main.groovy
def call() {
node {
stage('Git Cehckout') {
//Jenkins UI에서 설정한 Pipeline Script Git URL 주소를 가져옴
gitUrl = scm.getUserRemoteConfigs()[0].getUrl();
//Jenkins Build Parameter 정보 출력
echo "Parameter ::: ${params}"
//tag Parameter 정보가 있으면 tag로 Git Checkout 없으면 branch로 Checkout
def refName
if(params.tag) {
refName = "refs/tags/${params.tag}"
}else {
refName = "refs/heads/${params.branch}"
}
scmInfo = checkout scm: [$class: 'GitSCM',
userRemoteConfigs: [[url: gitUrl, credentialsId: 'befe985e-3cf8-430f-bb9f-d8bc55961420']],
branches: [[name: "${refName}"]]],
poll: false
}
}
}
- Jenkins에 Shared Library 등록
Jenkins 관리 > 시스템 설정 > Global Pipeline Libraries

1. Shared Library 명을 입력한다.
아래와 같이 프로젝트의 jenkinsfile에서 이 Name으로 Library를 사용한다고 명시를 해줘야 한다.
//Prject/ci/jenkinsfile
@Library('sample-shared') _
node{
stage('Start'){
main()
}
}
2. branch 명을 입력
3. Git 정보 입력
'DevOps > Jenkins' 카테고리의 다른 글
| Jenkins Pipeline 시작 - Jenkins UI 구성 (0) | 2020.01.17 |
|---|