인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김기주님의 프로필 이미지
김기주

작성한 질문수

비전공자도 이해할 수 있는 CI/CD 입문·실전

[실습] 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법

배포 실패 디버깅 질문

작성

·

22

·

수정됨

0

안녕하세요

 

깃허브액션작업은 성공했고, codedeploy에서 ec2에 배포하는 과정에서 에러가났습니다

에러미시지:

The deployment failed because a specified file already exists at this location: /home/ubuntu/github-actions-practice/package.json

 

 2024-12-14T02:35:19 INFO [codedeploy-agent(3496)]: [Aws::CodeDeployCommand::Client 200 0.023341 0 retries] put_host_command_complete(command_status:"Failed",diagnostics:{format:"JSON",payload:"{\"error_code\":5,\"script_name\":\"\",\"message\":\"The deployment failed because a specified file already exists at this location: /home/ubuntu/github-actions-practice/package.json\",\"log\":\"\"}"}

 

그런데 EC2의 프로젝트 디렉토리에는 기존 플젝코드가 있는게 당연한 것 아닌가요?? 그럼 appspec.yml에 기존 코드를 삭제하고 새로운 코드를 덮어쓰는 옵션같은 것을 추가해야하는 걸까요?

  1. 이 에러가 왜 발생한것인지

  2. 어떻게 해결해야하는지

     

    몰라서 질문드립니다!

 

 

 

 

답변 1

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 기주님!

에러가 발생한 이유는 codedeploy가 내부적으로

기존에 파일이 존재할 경우 에러를 띄우게끔 설계되어 있습니다.

그러다보니 만약 코드를 덮어씌우고 싶으시다면 아래 링크를 참고하셔서

덮어 씌울 수 있게 옵션을 추가해주셔야 합니다~!!

https://velog.io/@chldmswnl/AWS-The-deployment-failed-because-a-specified-file-already-exists-at-this-location-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0-feat.-github-action

 

이 외로 궁금하신 점 생기시면 언제든 또 질문 남겨주세요:D

김기주님의 프로필 이미지
김기주
질문자

답변감사합니다

그럼 CI/CD구축해서 기존코드를 새로운 코드로 교체할때 기존파일이 항상 존재할텐데

그렇다면 반드시 넣어줘야하는 옵션인 것으로 이해하면 될까요??

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

네 맞습니다!

기존 파일을 교체해야 하므로 overwrite는 반드시 넣어줘야 하는 옵션으로

이해하셔도 될 것 같습니다:D

김기주님의 프로필 이미지
김기주

작성한 질문수

질문하기