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 파일들이 제대로 추가되었다면 빌드가 성공적으로 완료될 것입니다.