본문 바로가기

카테고리 없음

Jenkins 쿠버네티스(K8s) 플러그인 git pull

728x90

젠킨스 쿠버네티스 플러그인에서 파이프라인 빌드 할 때 git branch를 jenkins에서 파라메터로 넘길 방법을 고민하던중

Jenkinsfile을 git에서 가지고 오다보니 아래와 같이 해주면 git에서 최신버젼으로 클론이 잘 되었습니다.

stage('Clone repository') {
    checkout scm
}

그러나 위 방법을 이용하면 branch name parameter를 넘기는게 안되어서 브랜치를 바꿔서 배포하려면 빌드 할 때 바꿔 주어야 했습니다.

그래서 BRANCH라는 parameter를 넘기려면 git정보를 빌드할 때 만들어 주어야겠다고 생각했고 방법을 찾았습니다.

def label = "aipcommon-${UUID.randomUUID().toString()}"
def nexusHost = "hello.world.com"
podTemplate(label: label, 
  serviceAccount: "jenkins",
  containers: [
      containerTemplate(
      name: 'jnlp',
      image: nexusHost+':5000/inbound-agent:4.3-4',
      args: '${computer.jnlpmac} ${computer.name}'
    ),
      containerTemplate(
      name: 'python37',
      image: nexusHost+":5000/python:3.7.9",
      command: 'cat',
      ttyEnabled: true
    )
      ])
 {
    node(label) {
        print("BRANCH:$BRANCH")
        print("label:" + label)
        stage('Clone repository') {
            print('BRANCH:$BRANCH')
            checkout([$class: 'GitSCM',
                    branches: [[name: '*/dev']],
                    userRemoteConfigs: [
                        [url: 'http://git.com/imagename.git',
                        credentialsId: '1234-5678']
                    ],
                ])
        }
    }
 }

위 code에서 checkout() 부분을 보시면 parameter를 넘길 수 있습니다. credential도 등록 해두었다면 id로 불러오는 것이 가능합니다.

파라메터 이용은 다음과 같이 할 수 있습니다. print("BRANCH:$BRANCH")

end.

728x90
블로그 주인장입니다. 원하시는 정보는 얻으셨나요? 이 포스트에서 추가로 필요한 정보가 있으시면 여기에 남겨주세요.