aws 재배포 - 초록스터디 4주차

김성재·2024년 3월 9일
0

배포 다 했는데 문제 발생..

배포하고 https로 리다이렉트까지 다 했는데 뒤늦게 삭제 관련 오류가 있었다는 것을 발견했다.🤦‍♂️🤦‍♂️🤦‍♂️ 시간 추가 삭제도 잘 되고 그것을 기반으로 예약 추가도 잘 되었는데 예약 추가를 하고 바로 삭제가 안 되었다... 추가를 하고 홈페이지를 새로 고침하면 그때가 되어서야 삭제가 되는데 도대체 왜지?? 하고 그 이유를 모르겠어서 한참 헤맸다. 스프링 상에는 아무런 에러 로그가 뜨지 않고 그 이유가 정말 티가 안 나서 그 원인이 뭔지 몰라서 정말 한참 찾았다.


사진을 보고 바로 눈치챈 사람이 있는지 모르겠다.. 예약번호가 제대로 안 들어가고 있었던 것이다..! 말하고 나니 정말 간단해보이지만 나는 이 이유가 안 보여서 왜 새로고침하면 삭제가 되는데 추가하고는 바로 삭제가 안 되는건지 한참 고민했다ㅋㅋㅋㅠ

스프링 로그 상에는 분명 아무런 에러가 안 뜨는데 도대체 왜지..? 정말 한참 생각하면서 애꿋은 html이랑 js파일만 엄청 찾아보고... 정말 뒤늦게 크롬의 개발자 모드로 source-page에서 어디에서 에러가 나는 지를 볼 수 있는 것을 알았다 나도 모르는 새 404에러를 엄청 반환하고 있었다

앞으로 할 코인 프로젝트에서 개발보다 에러 처리가 엄청 걱정되었는데 이번 경험을 통해 하나 배우면서 자신감이 조금 생긴 것 같다!

aws에 재배포

이제 에러 처리를 했으니 업데이트를 하는 과정을 가졌다.


우선 수정된 버전을 푸시를 해준 다음에 aws 해당 서비스의 인스턴스에 들어갔다.
해당 프로젝트로 이동한 다음에 git pull을 해줬다.

원래 nohup 명령어로 백그라운드에서 프로그램이 돌아가게 했으니 이제 jps 명령어를 통해 백그라운드에서 돌아가고 있는 프로세스의 번호를 확인 했다

우리는 springboot 프로그램을 돌리고 있으니 해당 프로젝트 번호인 40006번만 kill 해주면 된다

이때 kill 하고 나면 해당 페이지 접속이 되지 않아야 한다

이제 나머지는 다 똑같다. ./gradlew build -x test 명령어로 테스트를 제외하고 빌드 해준 다음

다시 백그라운드에서 프로세스가 돌아가게 하면 된다!

그런데 매번 수정사항이 있을 때마다 이런 과정을 거치면 너무 힘들 것이다. 이래서 CI/CD 환경 구축과 함께 젠킨스를 사용하는 구나 하고 느꼈다. 다음에 시간이 되면 젠킨스로 환경구축을 도전해봐야겠다!

0개의 댓글