티스토리 뷰

반응형

 

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 을 확인하게 되었다.

 

보자마자 바로 원인을 알게되었다.

 

git root directory

 

예전에 STS (eclipse;이클립스) 에서 만든 프로젝트를 git 저장소에 연결해서 올렸는데

위 처럼 프로젝트 명으로 폴더가 한번 더 생성되어 올라가 있던 것...

 

1depth 안에 gradle 파일이 존재

 

'ROOT > 프로젝트 소스'가 바로 들어가야 하는데

'ROOT > 프로젝트명 폴더 > 프로젝트 소스'가 들어가서 젠킨스가 Root에 존재해야하는 gradle 빌드 파일들을 읽지 못한 것...

 

인텔리J 에서는 깃에 프로젝트를 붙이면 소스가 바로 Root 하위로 붙는데

이클립스에서는 뭔지 모르게 저렇게 폴더로 한번 감싸서 들어간다.

 

일반적으로 그냥 툴에서 불러와 쓸때는 큰 지장이 없는데

이런 배포툴을 이용할때 문제가 된다는 것을 알게 되었다.

 

 

그래서 프로젝트명 폴더 하위 프로젝트소스 를 복사해서 Root 하위로  디렉토리 refactor 시킨 후

구동되는 것을 확인 한 후 커밋하였다.

 

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

 

 

 

처음에 이클립스에서 프로젝트를 연결했을 때 쫌 이상하다 싶긴 했는데...

사용하는데 문제 없어서 별 생각 안했는데 젠킨스를 연동하게 되면서 문제가 된다는 것을 알게 되었다.

 

프로젝트가 초기 단계라서 큰 문제가 안됐으나,

너무 뒤늦게 발견했다면 큰일 날뻔했다.

 

 

 

 

 

 

728x90
반응형
댓글
최근에 올라온 글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday