Aws
CodeBuild ID로 ECR 업데이트 및 ECS 서비스 업데이트 하기
wngnl05
2024. 12. 27. 15:13
appspec.yml : CodeDeploy에서 애플리케이션 배포를 정의하고 제어하는 설정 파일
buildspec.yml : CodeBuild에서 실행할 명령어를 작성한 파일
taskdef.json : ECS의 작업정의
ECS Service를 배포할때 Blue&Green으로 설정해주세요.
CMD-SHELL, curl --fail http://localhost:8080/health || exit 1
Download File
wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/ECS/appspec.yaml
wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/ECS/taskdef.json
curl -o buildspec.yaml https://raw.githubusercontent.com/wngnl-dev/AWS/main/ECS/buildspec/BuildID_buildspec.yaml
taskdef.json은 ECS 콘솔에서 직접 "테스크 정의"를 생성하고 JSON코드를 복사해서 붙여넣어주세요.
CodeBuild 설정
CodeBuild를 생성할때 꼭!! 도커 이미지를 빌드하거나 빌드의 권한을 승격하려면 이 플래그를 활성화합니다. 를 선택해주세요
CodeDeploy 설정
배포 그룹 > 원래 개정 종료 를 0일 0시간 0분으로 변경해주세요
배포 그룹 > 고급 > 롤백 에서 롤백 비활성화를 클릭해주세요.
그리고 배포에 실패하는 경우 롤백, 경보 임계값이 충족되는 경우 롤백을 선택해주세요.
CodePipeline 설정
배포 스테이즈 : Amazon ECS (Blue/Green)
- taskdef.json
- appspec.yaml
- CodePipeline Error
Pipeline에서 "Tags can not be empty"라는 오류가 발생하면
taskdef.json 아래에 있는 "tags" : [] 를 지워주세요.