본문 바로가기

맨땅에 헤딩하기/개발공부

[삽질일기] netlify에서 빌드한 앱이 internal server error를 띄울 때

어느날 웹앱을 배포한지 한시간 남짓 지나 에러를 발견해, 이전버전으로 급히 롤백하게 되었다. 모든 테스트를 통과한 버전이었는데 하필이면 Stakeholder가 업데이트 된 페이지를 구경하다 오류가 나버렸다. 외부에서 보고받은 오류여서 (코딱지만한)회사 인력의 절반이

이 문제를 해결하는데 투입되었다. 배포버전에 내 업무가 차지하는 비중은 크지 않았으나 배포한 당사자가 나여서 괜히 더 쫄렸다. 

 

 

 

흰 화면에 Internal server error 라고 딱 이렇게 떠있었다.

 

 

 

 

에러내용인 즉슨 해당페이지에서 새로고침을 하면 흰 화면에 Internal server error 라고 뜨는것이었다. 이건 프론트에서 관장할 내용이 아닐 뿐더러 여기서 Internal server라면 우리서버가 아니라 앱을 빌드 한 netlify 일건데 그렇다면 디버깅은 점점 미궁으로 빠지게 된다. 결국 이전 버전부터 업데이트 버전까지 커밋을 하나씩 되돌아가보면서 확인해 봤는데 정작 이슈가 시작된 커밋에 쓰여진 코드는 아무 문제가 없었다. 사실 코드는 동료들이 읽고 나는 하나하나 읽어나가기 귀찮아서 이전 커밋들을 모두 빌드해 보았다. 그랬더니 모든 빌드에서 같은 이슈가 발생했다. 이때부터 뭔가 심상치않음을 감지하고 프론트 개발자 넷이 머리를 맛대고 고민하기 시작했다. 코드엔 오류가 없고 (Internal server error를 발생시킬 오류는 프론트 코드에서 잘 나오지 않는다) 이전버전의 커밋도 빌드에 실패해 미궁에 빠지는 찰나 사수가 netlify status를 검색해보니 아니나 다를까 그날로 부터 5일 전 이슈가 있어서 고친 흔적이 있었다. 우리는 설마 이게 솔루션일려고(삽질한거에 비해 허무하기 때문에 믿고싶지 않았음) 반신반의 하면서 버전업데이트를 해보았다. 그리고 오류는 말끔히 사라졌다. 허무하긴 했지만 우리쪽 과실이 아니어서 다행이었다. 

 

 

 

Netlify: 응 우리쪽 에러야~

 

 

 

 

 

 

 

 

이번일로 얻은 교훈

  1.  third party platform에 앱을 빌드한다면 이슈가 생겼을 때 얘네부터 의심해보기 
  2. 리드가 얻는 압박은 생각보다 대단함. 차분하게 대응하는 사수가 대단해보였음. 비상상황에 대처하는 임기응변을 좀 더 키운뒤에 스탭업 할 생각을 해야겠음 
  3. 낮에 배포하면서 동료랑 이러다 롤백하는거 아냐~? 하면서 농담을 주고받았는데 말이 씨가 돼 버렸다. 함부로 입방정 떨지 않기