본문 바로가기

CICD(BUILD tool)

Jenkinsfile에서 gradle 빌드하기 ( docker 이미지로 )

728x90
반응형

Jenkinsfile에서 gradle빌드하는 방법은 일반적으로 jenkins서버에 gradle을 설치하고 사용하면 된다.

하지만 다양한 버전으로 빌드하기 위해서는 docker image를 이용하는 것이 좋다.

 

node {
    
    stage('Build') {
        docker.image('gradle:6.9.2-jdk11-alpine').inside{
            echo 'gradle build ..'
            sh 'echo $GRADLE_HOME'
            sh 'gradle --version'
            sh 'gradle clean bootJar'
    	}
	}
   
}

위의 스크립트처럼 docker.image를 이용해서 jenkins서버에 gradle 이미지를 받아서 빌드할 수 있다.

다만, docker를 사용하려면 jenkins서버에 docker가 되어야 한다.

 

첫 번째로, 젠킨스 플러그인 중 docker와 docker build step, Docker pipeline을 설치해야 한다.

 

그리고 jenkins에 docker를 설치해야 하는데 만약 jenkins도 docker로 띄워졌다면 Docker in Docker로 젠킨스를 띄울때 host의 docker.sock과 볼륨 설정을 해줘야 한다.

 

-v /var/run/docker.sock:/var/run/docker.sock

docker띄울때 host의 docker.sock을 이용할 수 있도록 설정해준다.

 

 

참고한 사이트

https://www.jenkins.io/doc/book/pipeline/docker/

 

Using Docker with Pipeline

Pipeline is designed to easily use Docker images as the execution environment for a single Stage or the entire Pipeline. Meaning that a user can define the tools required for their Pipeline, without having to manually configure agents. Practically any tool

www.jenkins.io

 

728x90
반응형