dev/기타

젠킨스 SpringBoot build gradlew not found 에러

wndud587 2024. 11. 13. 01:16
728x90

목차

1. 오류 원인

2. 해결 방법


1. 오류 내용

- 젠킨스를 사용하여 spring boot를 docker로 빌드하고 배포하는 중, 다음과 같은 오류 발생하였습니다.

0.377 /bin/sh: ./gradlew: not found
ERROR: process "/bin/sh -c ./gradlew build" did not complete successfully: exit code: 127

 

 

2. 해결 방법

- 이 오류는 gradlew 파일 오류 였습니다.

- 젠킨스에 프로젝트 저장소에 가서 gradlew 파일이 crlf 방식인지 lf 방식인지 확인을 해야 합니다.

- docker 빌드시 리눅스 기반이기 때문에 lf 방식으로 저장이 되어있어야 합니다. 하지만 gradlew 파일이 crlf 방식으로 저장이 되어있었기 때문에 위와 같은 오류가 발생하였습니다.

 

- 따라서 dockerfile 중간에 아래와 같은 문구를 삽입하였습니다.

# file 패키지 설치
RUN apk add --no-cache file

# gradlew 파일이 CRLF인지 확인하고, CRLF이면 LF로 변환
RUN if file gradlew | grep -q CRLF; then \
    echo "Converting CRLF to LF in gradlew"; \
    sed -i 's/\r$//' gradlew; \
  else \
    echo "gradlew already uses LF"; \
  fi

RUN ./gradlew build

 

- 위의 내용은 gradlew 파일을 확인해서 crlf이면 lf 형식으로 바꾸는 명령어 입니다.

- 위와 같은 방법으로 빌드하였고, 성공하였습니다.

빌드 성공

 

 

 

* 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

728x90