fix: CD 배포를 인스턴스별 순차 롤링 방식으로 변경 (#690) - #691
Conversation
전체 인스턴스에 동시에 SSM 배포 명령을 보내던 방식은 deploy.sh가 ALB 대상 그룹에서 자신을 미리 빼지 않고 컨테이너를 강제 재시작해서, 재시작 타이밍이 겹치면 전체 대상이 동시에 비정상 상태가 될 수 있었다. 인스턴스 1대씩 deregister → 드레이닝 대기 → 배포 → 헬스체크 통과 대기 → register를 반복하도록 바꿔 나머지 인스턴스가 항상 트래픽을 받게 한다.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #690
변경 내용
cd.yml: 전체 인스턴스 동시 SSM 배포 → 인스턴스 1대씩 순차 처리로 변경wait target-deregistered) → 해당 인스턴스에만 SSM 배포 → 완료 대기(wait command-executed) → register-targets → 헬스체크 통과 대기(wait target-in-service) → 다음 인스턴스deploy.sh는 변경 없음 (인스턴스 1대 배포 스크립트 역할 그대로)hard-click-ci-deploy-role에 IAM 권한 추가 필요 (콘솔에서 직접):elasticloadbalancing:DescribeTargetGroups,DescribeTargetHealth,DeregisterTargets,RegisterTargets,ssm:GetCommandInvocation체크리스트
./gradlew build) — 해당 없음, 워크플로 YAML만 변경