티스토리 뷰
Jenkins에서 git 저장소 연동하여 배포하는 설정을 하였는데
빌드가 실패하였고 실패로그를 보니
gradle 빌드 파일들을 찾지 못한다는 오류였다.
FAILURE: Build failed with an exception.
* What went wrong:
Directory '/var/lib/jenkins/workspace/sample' does not contain a Gradle build.
A Gradle build should contain a 'settings.gradle' or 'settings.gradle.kts' file in its root directory. It may also contain a 'build.gradle' or 'build.gradle.kts' file.
To create a new Gradle build in this directory run 'gradle init'
처음엔 젠킨스 아이템 구성을 잘못했나 하고 이것저것 설정해봤으나
동일한 오류가 계속 발생하여 git 을 확인하게 되었다.
보자마자 바로 원인을 알게되었다.
예전에 STS (eclipse;이클립스) 에서 만든 프로젝트를 git 저장소에 연결해서 올렸는데
위 처럼 프로젝트 명으로 폴더가 한번 더 생성되어 올라가 있던 것...
'ROOT > 프로젝트 소스'가 바로 들어가야 하는데
'ROOT > 프로젝트명 폴더 > 프로젝트 소스'가 들어가서 젠킨스가 Root에 존재해야하는 gradle 빌드 파일들을 읽지 못한 것...
인텔리J 에서는 깃에 프로젝트를 붙이면 소스가 바로 Root 하위로 붙는데
이클립스에서는 뭔지 모르게 저렇게 폴더로 한번 감싸서 들어간다.
일반적으로 그냥 툴에서 불러와 쓸때는 큰 지장이 없는데
이런 배포툴을 이용할때 문제가 된다는 것을 알게 되었다.
그래서 프로젝트명 폴더 하위 프로젝트소스 를 복사해서 Root 하위로 디렉토리 refactor 시킨 후
구동되는 것을 확인 한 후 커밋하였다.
이제 다시 젠킨스에서 빌드를 수행하였더니 정상적으로 수행되는 것을 확인하였다.
[Gradle] - Launching build.
[sample] $ /var/lib/jenkins/tools/hudson.plugins.gradle.GradleInstallation/gradle/bin/gradle bootJar
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileJava
> Task :processResources
> Task :classes
> Task :bootJarMainClassName
> Task :bootJar
BUILD SUCCESSFUL in 19s
4 actionable tasks: 4 executed
Build step 'Invoke Gradle script' changed build result to SUCCESS
Finished: SUCCESS
처음에 이클립스에서 프로젝트를 연결했을 때 쫌 이상하다 싶긴 했는데...
사용하는데 문제 없어서 별 생각 안했는데 젠킨스를 연동하게 되면서 문제가 된다는 것을 알게 되었다.
프로젝트가 초기 단계라서 큰 문제가 안됐으나,
너무 뒤늦게 발견했다면 큰일 날뻔했다.
'DevOps > Jenkins' 카테고리의 다른 글
[Jenkins] 젠킨스, java 21 로 업그레이드 하기. (java 11 종료에 따른) (1) | 2024.09.12 |
---|---|
[Jenkins] 레거시 업데이트 실패, 복구 및 Job 이관하기 (3) | 2024.03.19 |
[Jenkins] 젠킨스 버전 업데이트하기 (feat.rockylinux) (0) | 2024.01.30 |
[Jenkins] 리눅스에 젠킨스 설치하기. (feat.rockylinux) (0) | 2023.08.29 |
[Jenkins] Git webhook 설정하기. (0) | 2023.03.27 |