Jenkins에서 Gradle Wrapper 파일 설정 및 자동화된 빌드 설정 방법

Jenkins에서 Gradle Wrapper 파일 설정 및 자동화된 빌드 설정 방법
Photo by orbtal media / Unsplash

On this page

Jenkins에서 Gradle 프로젝트를 빌드하려면 Gradle Wrapper 파일을 설정하고 Git 저장소에 추가해야 합니다. 이 포스팅에서는 Gradle Wrapper 파일의 필요성, 이를 설정하는 방법, 그리고 Jenkins에서 이를 사용하는 방법을 단계별로 안내합니다.

Gradle Wrapper 파일의 필요성

Gradle Wrapper는 프로젝트의 특정 Gradle 버전을 고정하고, 빌드 환경의 일관성을 유지하는 데 도움을 줍니다. 이를 통해 각 개발자와 CI 서버에서 동일한 Gradle 버전을 사용하여 빌드를 수행할 수 있습니다.

주요 장점

  • 일관성: 프로젝트 빌드에 사용되는 Gradle 버전을 고정합니다.
  • 편리성: 개발자가 로컬에 Gradle을 설치하지 않아도 빌드를 수행할 수 있습니다.
  • 자동화: Jenkins와 같은 CI 도구와 쉽게 통합할 수 있습니다.

Gradle 설치

Gradle Wrapper 파일을 생성하기 전에 로컬 환경에 Gradle을 설치해야 합니다. 아래는 각 운영체제별 Gradle 설치 방법입니다.

macOS

brew install gradle

Ubuntu

sudo apt-get update
sudo apt-get install gradle

Windows

Gradle 공식 사이트에서 설치 파일을 다운로드하고 설치하세요. 이후 환경 변수 설정을 통해 gradle 명령어를 사용할 수 있도록 설정합니다.

Gradle 설치 확인

Gradle이 올바르게 설치되었는지 확인하려면 다음 명령어를 실행합니다:

gradle -v

이 명령어를 실행하면 설치된 Gradle의 버전 정보가 출력되어야 합니다.

Gradle Wrapper 파일 생성

Gradle이 설치된 후, 프로젝트 루트 디렉토리에서 Gradle Wrapper 파일을 생성합니다. 다음 명령어를 실행하세요:

gradle wrapper

이 명령어를 실행하면 프로젝트 루트 디렉토리에 다음과 같은 파일들이 생성됩니다:

  • gradlew
  • gradlew.bat
  • gradle/wrapper/gradle-wrapper.jar
  • gradle/wrapper/gradle-wrapper.properties

생성된 파일을 Git에 추가

생성된 Gradle Wrapper 파일들을 Git 저장소에 추가하여 다른 개발자들과 CI 서버에서 사용할 수 있도록 합니다:

git add gradlew gradlew.bat gradle/wrapper/gradle-wrapper.jar gradle/wrapper/gradle-wrapper.properties
git commit -m "Add Gradle Wrapper files"
git push origin master

Jenkins 파이프라인 스크립트 업데이트

Jenkins에서 Gradle Wrapper 파일을 사용하여 빌드를 자동화하기 위해 파이프라인 스크립트를 업데이트합니다. 아래는 예시 스크립트입니다:

pipeline {
    agent any

    tools {
        jdk 'Java 11'
    }

    environment {
        JAVA_HOME = tool name: 'Java 11', type: 'jdk'
        PATH = "${env.JAVA_HOME}/bin:${env.PATH}"
        REMOTE_USER = 'your_remote_user'
        REMOTE_HOST = 'your_remote_host'
        REMOTE_PATH = 'your_remote_path'
    }

    stages {
        stage('Checkout') {
            steps {
                git credentialsId: 'credName', branch: 'master', url: '<https://github.com/....git>'
            }
        }
        stage('Set Permissions') {
            steps {
                sh 'chmod +x ./gradlew'
            }
        }
        stage('Build') {
            steps {
                sh './gradlew clean bootJar -Pprod'
            }
        }
        stage('Copy JAR to Remote') {
            steps {
                sshagent(['ssh-...']) {
                    sh """
                        scp build/libs/...-0.0.1-SNAPSHOT.jar ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}
                    """
                }
            }
        }
    }
}

결론

위 단계를 따르면 Jenkins에서 Gradle Wrapper 파일을 사용하여 프로젝트를 자동으로 빌드할 수 있습니다. Gradle Wrapper 파일을 설정함으로써 빌드 환경의 일관성을 유지하고, 개발자와 CI 서버 간의 호환성을 보장할 수 있습니다. Jenkins 파이프라인 스크립트를 업데이트하여 Gradle Wrapper를 사용하는 방법도 간단하게 설정할 수 있습니다.

이제 Jenkins 빌드를 다시 시도하여 모든 설정이 올바르게 되었는지 확인하세요. Gradle Wrapper 파일들이 제대로 추가되었다면 빌드가 성공적으로 완료될 것입니다.

Subscribe to Keun's Story newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!