[AWS] CodeDeploy ApplicationStop 단계에서 지속적으로 에러날 경우

주형(Jureamer)·2022년 6월 11일
0

최근 CodeDeploy를 통해 EC2에 자동배포를 하는데 ApplicationStop 단계에서 계속 실패처리가 났습니다.

당시 파일 권한 문제였기에 Appspec.yml에 permission 섹션을 추가해줘서 테스트에 전혀 문제가 없었는데 같은 부분에서 막히고 말았습니다.

답답한 것이 구글링을 해도 나오는 것은 "당연히" 오류 메세지에 대한 얘기 뿐이었기에 답답할 노릇이었습니다. 그렇게 수 없이 시간을 쏟다 한 줄기 빛 같은 게시글을 보게 되었습니다.

그 이유는 ApplicationStop 단계에서 오류가 날 경우 계속 배포 시도를 하더라도 가장 마지막에 성공했던 배포 내용을 참조하기 때문입니다.

1. EC2 내 console에서 아래 디렉토리로 이동

cd /opt/codedeploy-agent/deployment-root/deployment-instructions/

2. _last_successful_install로 끝나는 파일 읽기(cat)

cat ****.****.****_last_successful_install

# 출력
/opt/codedeploy-agent/deployment-root/xxxx-xxxxx-xxx-xx-/d-xxxxx-xxx

3. 출력된 디렉토리로 이동

# 이동
cd /opt/codedeploy-agent/deployment-root/xxxx-xxxxx-xxx-xx-/d-xxxxx-xxx

4. 디렉토리 안에서 deployment-archive 폴더 내 appspec.yml, scripts 파일 수정

5. 재배포 실행

위와 같이 수정 후 실행하면 정상적으로 배포되는 것을 확인할 수 있습니다.

이와 같은 문제는 ApplicationStop 단계는 Appspec 파일 및 스크립트를 이전에 성공적으로 배포된 애플리케이션 수정에서 가져오기 때문입니다.

공식 문서에서도 나와있지만 실제로 해당 문제를 겪기 전까지는 지나치고 넘어갔는데 공식 문서를 왜 꼼꼼히 읽어야하는 지 깨닫게 되는 사건이었습니다...

이상! 끗!

참고


profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글