1. 이용자의 개인정보를 수집·이용 하지 않고 있으며, ‘이용자의 권리 (개인정보 자기결정권)를 적극적으로 보장’합니다. 조직은 정보통신서비스제공자가 준수하여야 하는 대한민국의 관계 법령 및 개인정보보호 규정, 가이드라인을 준수하고 있습니다. “개인정보처리방침”이란 이용자의 소중한 개인정보를 보호함으로써 이용자가 안심하고 서비스를 이용할 수 있도록 조직이 준수해야 할 지침을 의미합니다.

  • 목표
    • 각 프로젝트 별로 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
  • 목표

    • Pipeline을 공통으로 사용하기 위해 Shared Libarary로 등록

    • 각 프로젝트에서 yaml로 Build 속성을 설정

    • Jenkins Build시 Branch를 구분하여 Build 할 수 있게 설정
  • 프로젝트 구조

(project)

src 
target
ci

     └─ci.yaml

     └─jenkinsfile

 

//ci/ci.yaml
#배포 서버 정보
deploy:
  server:
    credentials: "dev-centos"
    user: "centos"
    hostname: ""
    base-path: "/servers"

 


  • Jenkins UI 설정

Pipeline Job을 생성

Branch 별로 Build 할 수 있게 Build Parameter에 Git Parameter를 추가

Build Git Parameter 추가

Parameter Type은 Branch로 설정

Branch별 Build를 위해 Branch Type 설정

  1. Default 값은 Pipeline Script로 지정되어 Jenkins Job에 Pipeline Script를 직접 작성 할 수 있게 되어있으나 Pipeline Script를 Project 내에 포함시켜 관리 하기 때문에 Pipeline script form SCM을 선택
  2. SCM 종류 선택 (Git)
  3. 배포 Project의 Git Url을 입력
  4. Branch는 Build Parameter의 "branch" Parameter를 사용 "refs/heads/${branch}
  5. Jenkins Job 실행시 해당 Git의 소스를 모두 내려 받는다 Pipeline script에서 따로 Git에서 소스를 Checkout을 하기 때문에 모든 소스를 내려 받을 필요가 없어 Sparse Checkout으로 특정 폴더만 Checkout 하게 설정
  6. Script Path에는 Jenkins Job이 실행 시킬 Pipeline 파일 경로를 입력 "ci/jenkinsfile"

'DevOps > Jenkins' 카테고리의 다른 글

Jenkins Pipeline 시작 - Shared Library  (0) 2020.01.17

+ Recent posts