CodeDeploy로 배포중인데, application start 이벤트에서 갇혀버렸습니다.

왜 그런가 곰곰이 생각해봤는데, supervisord 데몬을 실행시켜야 했는데 -n으로 노데몬(nodaemon)으로 실행시켜서 foreground에 supervisord로 떠있는 상태라 In progress 상태로 갇혀버린겁니다.

appspec.yml의 timeout 초만큼이 지나야 Deployment가 실패를 하든 뭘 할텐데 보니까 6000으로 되어 있었네요. 6000초를 기다릴 수는 없으니 직접 ec2에 붙어 처리했습니다

 

스크립트에서는 docker pull 뒤 run 하는 내용이 들어가있어서 ec2에 접속한 뒤 docker kill로 컨테이너 죽이고 Dockerfile에서 -n 파라미터를 빼는 걸로 해결했습니다.

반응형