본문 바로가기
AWS/CICD

[AWS] CodeDeploy file already exists 에러 file_exists_behavior로 해결

by study4me 2024. 8. 9.
반응형

AWS CodeDeploy에서 간단하게 index.html을 배포하는 구성을 만들었다.

참고로 index.html과 appspec.yml을 zip으로 압축하여 배포한다.

AWS Console에서 배포를 생성했는데 아래와 같은 에러를 받았다.

 

[이벤트 로그]
오류코드 : UnknownError
메시지 : 

The deployment failed because a specified file already exists at this location: /var/www/html/index.html

 


구글에 서치해보니 배포하고자하는 서버에 이미 index.html이 있어서 발생하는 에러였다.
기존에 있는 파일을 덮어씌워 배포할 수 있도록 하기 위해
file_exists_behavior: OVERWRITE를 추가해주어 해결해줬다.

 

오류 수정한 appspec.yml

version: 0.0
os: linux
files:
 - source: /index.html
   destination: /var/www/html
file_exists_behavior: OVERWRITE

 

file_exists_behavior은 DISALLOW, OVERWRITE, RETATE의 값을 가질 수 있으며 각 값의 의미는 다음과 같다.

  - DISALLOW: 배포가 실패합니다. 이는 옵션을 지정하지 않은 경우의 기본 동작입니다.

  - OVERWRITE: 현재 배포 중인 애플리케이션 수정 버전의 파일 버전이 인스턴스에 이미 있는 버전을 대체합니다.

  - RETATE: 인스턴스에 이미 있는 파일의 버전이 유지되고 새 배포의 일부로 사용됩니다.

 

 

[출처]
https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/reference-appspec-file-structure-files.html

반응형

'AWS > CICD' 카테고리의 다른 글

[기록] AWS CICD 교육  (0) 2024.04.30