Skip to content

fix: CD 배포를 인스턴스별 순차 롤링 방식으로 변경 (#690) - #691

Merged
jongjunn merged 1 commit into
developfrom
feature/#690-cd-rolling-deploy
Jul 24, 2026
Merged

fix: CD 배포를 인스턴스별 순차 롤링 방식으로 변경 (#690)#691
jongjunn merged 1 commit into
developfrom
feature/#690-cd-rolling-deploy

Conversation

@GANGHYEON02

Copy link
Copy Markdown
Contributor

Closes #690

변경 내용

  • cd.yml: 전체 인스턴스 동시 SSM 배포 → 인스턴스 1대씩 순차 처리로 변경
    • deregister-targets → 드레이닝 대기(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
  • 권한 추가 후 실제 main 배포 1회로 롤링 동작 확인

체크리스트

  • 로컬 빌드 통과 (./gradlew build) — 해당 없음, 워크플로 YAML만 변경
  • Flyway 파일 포함 여부 확인 — 해당 없음
  • ddl-auto: update 없음
  • MinIO 설정 없음
  • InfluxDB 설정 없음

전체 인스턴스에 동시에 SSM 배포 명령을 보내던 방식은 deploy.sh가
ALB 대상 그룹에서 자신을 미리 빼지 않고 컨테이너를 강제 재시작해서,
재시작 타이밍이 겹치면 전체 대상이 동시에 비정상 상태가 될 수 있었다.
인스턴스 1대씩 deregister → 드레이닝 대기 → 배포 → 헬스체크 통과 대기 →
register를 반복하도록 바꿔 나머지 인스턴스가 항상 트래픽을 받게 한다.
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • .github/workflows/cd.yml is excluded by none and included by none

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dda1fbfa-d68f-417b-969d-286eddf3bb9a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/#690-cd-rolling-deploy

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit c96081f. ± Comparison against base commit d6fb130.

@github-actions

Copy link
Copy Markdown

Gate 1 · 결정론 규칙

16 tests  ±0   16 ✅ ±0   0s ⏱️ -1s
 3 suites ±0    0 💤 ±0 
 3 files   ±0    0 ❌ ±0 

Results for commit c96081f. ± Comparison against base commit d6fb130.

@github-actions

Copy link
Copy Markdown

Gate 2 · 결정론 판정

88 tests  ±0   82 ✅ ±0   0s ⏱️ ±0s
29 suites ±0    6 💤 ±0 
29 files   ±0    0 ❌ ±0 

Results for commit c96081f. ± Comparison against base commit d6fb130.

@jongjunn
jongjunn merged commit ea50993 into develop Jul 24, 2026
11 checks passed
GANGHYEON02 added a commit that referenced this pull request Jul 24, 2026
fix: CD 배포를 인스턴스별 순차 롤링 방식으로 변경 (#690) (#691)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] commend 파일 수정

2 participants