[DevOps] Nginx 무중단 배포 설정하기 - Hype

2023. 4. 4. 02:26프로젝트/학습


💡본문에 들어가기 앞서...

앞전에 썼던 글처럼 무중단 배포를 설정하고 배포를 진행하고 다른 기능들을 붙여보면서 발생했던 문제를 해결하는 글입니다.

Nginx 무중단 배포 구현 후 발생한 문제

되겠지 생각하면서 모르고 있다가 어느 순간 확인해보니까 배포가 안되는 것 같았고 AWS를 보니까 배포가 계속 실패하고 있었습니다.

이런 문제가 발생했었습니다. 

문제 해결 방법

구글링을 해보니까 공식 문서에서 해결 방법을 알려주고 있었습니다.

리눅스 기반 OS에서 백그라운드로 프로세스를 실행하려면 &를 붙여야 한다고 알고 있었고 그래서 저도 위와 똑같이 &만을 붙였습니다. 하지만 Code Deploy 사용 설명서에서는 이것만 추가해서는 백그라운드에서 실행되도록 할 수 없다고 합니다.

위와 같이 stdout, stderr 및 stdin을 /dev/null로 리다이렉션을 해줘야한다고 합니다.

배포 성공한 것을 확인할 수 있습니다!!


마무리

사실 기존 구현된 코드(다른 팀원이 짠)에서는 리디렉션을 하는 코드가 프로세스 실행 구문에 붙어있었습니다. 근데 제가 생각할 때는 필요없다고 생각이 되어서 제 생각대로 바꿨습니다. 이런 부분들을 바꾸기 전에 먼저 찾아보고 바꿔야 한다는 것을 느꼈습니다. 정당한 이유가 없이 내 생각만으로 구문을 수정한 것은 잘못되었다는 생각이 들었습니다.

 

Reference

https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/troubleshooting-deployments.html

 

EC2/온프레미스 배포 문제 해결 - AWS CodeDeploy

Amazon Linux, RHEL 및 Ubuntu Server 인스턴스에서 정리 파일은 /opt/codedeploy-agent/deployment-root/deployment-instructions/에 있습니다. Windows Server 인스턴스에서의 위치는 C:\ProgramData\Amazon\CodeDeploy\deployment-instructions

docs.aws.amazon.com