개발서버에서만 나는 FE 에러 해결하기

개발서버, 스테이징 서버에서만 나는 에러를 일일이 배포 후에 확인하는 과정이 아닌, 로컬처럼 실시간으로 확인 할 수 있는 방법을 알게 되어 기록으로 남겨두려고 합니다.

개요


문제상황

  • 로컬에서는 이상이 없고, 개발서버에서만 에러가 발생하는 상황

본론


개발서버를 개발모드로 열기

ssh root@192.168.0.57 // 1. 57서버 접속
cd /opt/${프로젝트이름}-dev/web // 2. 개발서버 경로 접속
vim Dockerfile // 3. 도커파일 수정을 위해 vim 으로 수정하는 명령어 입력

4. 개발모드로 실행할 수 있도록 아래처럼 수정
...
 #&& \
 #11     npm run build
...
 #17 CMD ["pm2-runtime", "start", "./node_modules/.bin/next", "--", "start"]
 17 CMD ["npm", "run", "dev"]

sh docker.build // 5. 도커 빌드
sh docker.run // 6. 도커 런

* 간단히 살펴보는 vim 명령어

i // insert
p // 붙여넣기
y // 복사
yy // 현재 줄 복사하기
c // 잘라내기
:wq // 저장 후 나가기
:q // 저장하지 않고 나가기

개발모드 환경에서 코드 수정

docker ps // 1. 도커 컨테이너 리스트 확인
docker exec -it ${프로젝트이름}-frontend bash // 2. ${프로젝트이름]-frontend:dev가 있다면 명령어 실행
apt-get update // 3. 사용 가능한 패키지들과 그 버전에 대한 정보 업데이트 하는 명령어
apt-get install vim // 4. vim이 안깔려있을것이기 때문에 설치 필요
vim ${파일 경로} // 5. 파일 수정

ssr에서 나는 에러 출력하기

docker logs ${프로젝트이름}-frontend // 1. 실행 후 명령어 입력

마치며

항상 일하면서 제일 답답한 상황이 로컬에서는 재현이 안되는 에러가 개발서버나 스테이징에서 발생할 때인것 같다. 이제 개발모드로 실행하는 방법을 아니까 개발서버를 개발모드로 열어서 실시간으로 작업하고 ssr 에러도 찍어볼 수 있으니 이전처럼 답답해하며 작업 후 개발서버 배포 후에 확인하는 반복적인 과정을 거치지 않아도 될 것 같다. 개발모드로 작업하는 것은 사실 생각하지 못했던 방법인데, 이번에 기록을 잘 해놔서 앞으로 같은 상황이 발생했을때 시간낭비 하지 않고, 작업을 할 수 있었으면 좋겠다.