Conversation
- build-docker-image 잡(Docker Hub, latest 태그)은 그대로 유지 - deploy 잡의 CapRover 액션을 Coolify API(GET /api/v1/deploy?uuid=...&force=true) 호출로 교체 - prod/dev 각각 COOLIFY_PROD_RESOURCE_UUID / COOLIFY_DEV_RESOURCE_UUID 사용 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BwEtkafDnUZh8TeKrrzuEo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#️⃣연관된 이슈
🎯 해결하려는 문제가 무엇인가요?
현재 CD(배포) 파이프라인이 CapRover에 결합되어 있습니다. 배포 플랫폼을 Coolify로 전환하되, 애플리케이션 런타임과 이미지 빌드 방식은 그대로 두고 배포 트리거만 교체합니다.
❓ 왜 해결해야 하나요?
배포 플랫폼을 Coolify로 이전하기로 했고, 그 전제 조건으로 CD 파이프라인이 Coolify를 바라보게 만들어야 합니다. 이미지 빌드/푸시는 이미 재사용 가능하므로 배포 트리거 지점만 바꾸면 됩니다.
⭐ 어떻게 해결했나요?
build-docker-image잡은 변경 없음 — Gradle 빌드 → Docker Hub push(latest태그) 그대로 유지. Coolify가 이 이미지를 pull합니다.deploy잡의caprover/deploy-from-github액션을 Coolify API 호출(curl) 로 교체:GET {COOLIFY_URL}/api/v1/deploy?uuid=...&force=true,Authorization: Bearer {COOLIFY_API_TOKEN}COOLIFY_PROD_RESOURCE_UUID, dev은COOLIFY_DEV_RESOURCE_UUID사용latest태그가 고정이라 이미지 문자열이 안 바뀌므로force=true로 강제 재-pull,--fail로 실패 시 잡이 실패하도록 처리🧩 이 PR의 한계 & 트레이드오프
latest태그 유지 — 변경 최소화를 우선해 기존 방식을 유지했습니다. 롤백/추적성이 낮은 대신force=true로 최신 이미지를 강제 pull합니다. 불변 태그(commit SHA)는 후속 과제.⛓️ 기존 기능에 미치는 영향
deploy잡이 실패합니다 → 머지·배포 전 등록 필수.COOLIFY_URL,COOLIFY_API_TOKEN,COOLIFY_PROD_RESOURCE_UUID,COOLIFY_DEV_RESOURCE_UUIDCAPROVER_*5종🔀 Edge Case & 실패 시나리오
401(토큰/권한) 또는404(UUID 오류) 반환 →--fail로 잡이 실패해 조용한 실패를 방지합니다.latest이미지 문자열이 불변이라 Coolify가 재-pull하지 않을 수 있음 →force=true로 강제.📋 검토한 대안과 선택 이유
latest유지.curl채택.💬 리뷰 포인트
[r]머지·배포 전 GitHub Secrets 4종 등록 확인, CapRover 앱은 검증 완료까지 삭제하지 말 것(즉시 롤백 경로).[c]dev → prod 순으로 배포 검증 후 CapRover 앱/Secrets 정리.[a]배포 검증 시 로컬에서curl ... /api/v1/deploy?uuid=<DEV_UUID>&force=true로 먼저 200 응답 확인 권장.🤖 Generated with Claude Code
https://claude.ai/code/session_01BwEtkafDnUZh8TeKrrzuEo