GitAction

gitAction springboot build 실패 오류 메세지 ( index.html ) github 에서 로그로 띄워 확인 하기

땍땍 2024. 12. 23. 17:33

github를 이용하는 개발자들이라면 gitAction이라는 단어를 들어본 적이 있을 것이고 , 아마 많은 분들이 CI/CD 등을 위해 실제 사용해본 경험 또한 있을 것이라 생각한다.

gitAction은 jenkins와 같이 직접 서버를 띄워 설정 하지 않아도 간편하게 이를 활용할 수 있기에 더욱 접근성이 좋고 편리하다는 강점이 있는데, 이러한 장점이 단점으로 다가오는 경우도 분명 존재한다.

현재 진행 중인 프로젝트에서는 gitAction을 이용해 ./gradlew build 명령어를 실행하고 이를 성공하면 서버에 배포하는 과정을 거치고 있는데, 이상하게 local에서는 성공하는 케이스가 gitAction에서는 실패하는 문제가 발생하였다.

때문에 무엇이 문제인지 파악하기 위해 로그를 확인하려 했으나, gitAction에서는 index.html 파일을 확인하라는 로그 이외에는 필요한 정보를 확인할 수가 없었다.

 

만약, jenkins 와 같이 직접 서버에 접근할 수 있는 환경이었다면 index.html 을 확인하면 해결되는 문제이지만 아쉽게도 gitAction Server에 접근하는 방법을 몰랐기에 다른 방법을 모색할 수밖에 없었다.

어떤 방법이 좋을지 고민 중, 기존 ./gradlew build 가 아닌 —bebug 옵션을 이용해 로그를 띄우는 방법을 떠올렸다.

./gradlew build —bebug

이러한 방법으로 문제가 되는 로그를 찾을 수 있었고 문제를 정말 간단하게 해결할 수 있었지만, 위와 같은 방법으로는 build 에 실패하지 않는 케이스도 필요없는 로그가 표시가 되어 기존 ./gradlew build 와 비교하여 어떤 부분에 문제가 발생했는지 한 눈에 파악하기 어려웠다.

때문에 아래와 같이 build 에 실패했을 경우에만, 관련 파일을 모두 읽어 표시하는 방법으로 변경하였다.

      # gradle 빌드 및 테스트
      - name: Build and test with gradle
        run: ./gradlew clean build

      # 빌드 실패시 로그 출력
      - name: Show detailed logs on failure
        if: failure()
        run: find build/reports/tests/test/classes/ -name "*.html" -exec cat {} \\;

해당 방법도 필요없는 내용까지 함께 출력을 하고 있다는 문제를 완벽하게 해결한 것은 아니기에 개선이 필요하다.

이렇나 방법 이외에도 테스트 실패시 index.html 관련 파일을 다운 받을 수 있도록 하거나, 메일이나 서버로 전송하는 방법 등도 존재하니 필요에 따라 적용해보면 좋을 것같다.