티스토리 뷰

안녕하세요 강정호입니다. 오늘은 제가 배포를 하다가 생긴 빌드 오류에 대해서 알아보겠습니다.




문제


EC2에서 빌드를 하여 배포를 하려고 하는데 계속해서 Test 관련 에러가 발생하였습니다. 누군가가 코드를 변경한 이력은 없고 계속해서 찾아보았으나 원인을 알기 어려웠습니다.


위의 스샷과 같이 "Execution failed for task : test" 라는 메시지와 함께 InhouseKitchenApplicationTests 파일에서 에러의 원인이 발생했다는 힌트를 주고 있었습니다.


그래서 에러 메시지에서 나타난바와 같이 InhouseKitchen/build/reports/tests/test/index.html 파일을 열어보기 위해 로컬에서도 동일하게 Gradle 빌드를 해보았습니다.



로컬에서 빌드


로컬에서도 원격 EC2처럼 Gradle로 빌드를 해보았습니다. 원격에서 Gradle 빌드시 오류가 생겼다면 로컬에서도 동일한 코드로 빌드하기 때문에 오류가 생겨야 하기 때문입니다. 다음과 같이 로컬에서 빌드를 하였습니다.


위와 같이 build를 클릭하니 로컬에서도 빌드가 되었습니다. 하지만 원격 서버와 마찬가지로 Test 관련 에러가 뜨면서 빌드가 되지 않았습니다. 그래서 index.html 파일을 열어서 에러의 원인을 찾아보았습니다.


빨간색 사각형에서 볼 수 있듯이 Test 부분이 에러의 원인이었습니다. 그래서 이 부분에서 코드가 잘못된 부분이 없는지 살펴보았습니다.


해결 방안


InhouseKitchenApplicationTest에 문제가 있다고 생각하여 코드를 보니 

Junit import 클래스가 비활성화 되어 있었고, @Test 코드가 없었습니다. 그래서 그 코드를 다시 추가하여 해결하였습니다.



결국 빌드 성공!!!!!!!

댓글