Chore(#80): develop 브랜치 기반 AWS EC2 통합 CD 구축 - #83
Conversation
|
Warning Review limit reached
Next review available in: 51 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe pull request adds a GitHub Actions backend deployment workflow. It uses AWS OIDC and SSM to run a deployment script on EC2. The script validates the target commit, replaces only the backend, checks health and dependency containers, and rolls back failed deployments. ChangesBackend deployment
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant AWS
participant EC2
participant DeployScript
GitHubActions->>AWS: Configure OIDC credentials
GitHubActions->>AWS: Send commit SHA through SSM
AWS->>EC2: Execute deployment command
EC2->>DeployScript: Run backend deployment
DeployScript->>DeployScript: Validate, deploy, and health-check backend
DeployScript-->>AWS: Return command status and output
AWS-->>GitHubActions: Provide final deployment status
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/backend-cd.yml:
- Around line 63-66: Replace the aws ssm wait command-executed invocation and
its || true in the deployment polling flow with explicit polling of the command
status for the full 1,500-second execution window. Continue polling non-terminal
states, exit on Success, and fail immediately on Cancelled, Failed, or TimedOut
so later steps cannot proceed after an unsuccessful deployment.
In `@scripts/deploy-backend.sh`:
- Line 35: Update the deployment flow so it checks out develop before assigning
PREVIOUS_SHA via git rev-parse HEAD. Keep the rollback state capture after
checkout, ensuring PREVIOUS_SHA always records the current develop commit.
- Around line 103-109: Update both health-check sites in
scripts/deploy-backend.sh: lines 103-109 after rollback starts the container and
lines 193-199 after deployment starts it. Derive the Compose-published backend
port from the running container/configuration instead of hardcoding 8080, and
use that port in each health-check URL so both checks honor SPRING_PORT.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 95df7b77-3dba-424a-8e3d-00cf309734a2
📒 Files selected for processing (2)
.github/workflows/backend-cd.ymlscripts/deploy-backend.sh
📋 작업 내용
develop브랜치의 Backend CI 성공 후 실행되는 CD 워크플로를 추가했습니다.spring-backend컨테이너만 교체하도록 구현했습니다.🧪 테스트 결과
./gradlew test --no-daemon통과docker compose --env-file .env.example config --quiet통과bash -n scripts/deploy-backend.sh통과git diff --check통과🔗 관련 이슈
✅ 체크리스트
Summary by CodeRabbit