-
Notifications
You must be signed in to change notification settings - Fork 0
π :: [#739] - nest μ ν리μΌμ΄μ λ컀 νμΌ λ΄μ© μμ #740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughNestJSμ© Dockerfile ν
νλ¦Ώμ κ°λ° νλ¦μμ νλ‘λμ
μ€μ¬μ 미리 λΉλλ μν°ν©νΈ λ°©μμΌλ‘ λ³κ²½νκ³ , μ΄λ―Έμ§ λΉλ μλΉμ€μ ApplicationType.NEST_JS λΆκΈ°λ₯Ό μΆκ°ν΄ Docker λΉλ μ μ Changes
Estimated code review effortπ― 3 (Moderate) | β±οΈ ~20 minutes
Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touchesβ Failed checks (1 warning)
β Passed checks (2 passed)
β¨ Finishing touches
π§ͺ Generate unit tests (beta)
π Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro π Files selected for processing (1)
π§ Files skipped from review as they are similar to previous changes (1)
β° Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Caution
Some comments are outside the diff and canβt be posted inline due to platform limitations.
β οΈ Outside diff range comments (1)
src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt (1)
46-66: buildImageByApplicationId λ©μλμλ NEST_JS λΆκΈ° μΆκ°λ₯Ό κ³ λ €νμΈμ.
buildImageByApplicationλ©μλμλ NEST_JS λΆκΈ°κ° μΆκ°λμμ§λ§,buildImageByApplicationIdλ©μλ(lines 26-39)μλ NEST_JS λΆκΈ°κ° μμ΅λλ€. λ λ©μλ κ° μΌκ΄μ±μ μν΄buildImageByApplicationIdμλ λμΌν λ‘μ§μ μΆκ°νλ κ²μ΄ μ’μ΅λλ€.
buildImageByApplicationIdλ©μλμλ λ€μκ³Ό κ°μ΄ NEST_JS λΆκΈ°λ₯Ό μΆκ°νμΈμ:val exitValue = when (application.applicationType) { ApplicationType.SPRING_BOOT -> { commandPort.executeShellCommand("cd ./$directoryName && ./gradlew clean build") .run { if (this == 0) commandPort.executeShellCommand("cd ./$directoryName && docker build -t ${application.containerName}:latest .") else this } } ApplicationType.NEST_JS -> { commandPort.executeShellCommand("cd ./$directoryName && npm run build") .run { if (this == 0) commandPort.executeShellCommand("cd ./$directoryName && docker build -t ${application.containerName}:latest .") else this } } else -> { commandPort.executeShellCommand("cd ./$directoryName && docker build -t ${application.containerName}:latest .") } }
π§Ή Nitpick comments (1)
src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt (1)
45-45: νμμ‘΄ νλμ½λ© νμΈ νμCMDμμ νμμ‘΄μ΄
Asia/Seoulλ‘ νλμ½λ©λμ΄ μμ΅λλ€. νλ‘μ νΈ μꡬμ¬νμ λ°λΌ μλλ κ²μΌ μ μμΌλ, νκ²½ λ³μλ‘ μ€μ νλ κ²μ΄ λ μ μ°ν λ°©μμ λλ€.νκ²½ λ³μλ‘ κ΄λ¦¬νλ €λ©΄ λ€μκ³Ό κ°μ΄ μμ ν μ μμ΅λλ€:
- CMD ["sh", "-c", "TZ=Asia/Seoul node dist/main.js"] + ENV TZ=Asia/Seoul + CMD ["node", "dist/main.js"]λλ νμμ‘΄μ env νλΌλ―Έν°λ‘ μ λ¬λ°μ
${getEnvString(env)}μ ν¬ν¨μν¬ μ μμ΅λλ€.
π Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
π Files selected for processing (2)
src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt(1 hunks)src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt(1 hunks)
π§° Additional context used
π§ Learnings (1)
π Common learnings
Learnt from: dolong2
Repo: dolong2/dcd PR: 703
File: src/main/kotlin/com/dcd/server/core/domain/volume/model/Volume.kt:1-12
Timestamp: 2025-09-01T14:52:42.625Z
Learning: dolong2 prefers to implement validation logic (such as path validation for Volume.physicalPath) in the business logic layer rather than in domain model init blocks, keeping domain models as simple data containers.
Learnt from: dolong2
Repo: dolong2/dcd PR: 703
File: src/test/resources/data.sql:28-30
Timestamp: 2025-09-01T14:57:07.656Z
Learning: dolong2 prefers to implement deletion validation in business logic rather than using database CASCADE constraints. For volume deletion, they want to validate if any mounts exist before allowing deletion, preventing accidental data loss while maintaining explicit control over the deletion process.
Learnt from: dolong2
Repo: dolong2/dcd PR: 655
File: src/main/kotlin/com/dcd/server/persistence/workspace/entity/WorkspaceJpaEntity.kt:12-14
Timestamp: 2025-07-12T14:05:23.333Z
Learning: dolong2λ JPAμ GeneratedValue(strategy = GenerationType.UUID) λμ μμ±μμμ UUID.randomUUID()λ‘ μ§μ μ΄κΈ°ννλ λ°©μμ μ νΈνλ€. λ κ°λ¨νκ³ μμΈ‘ κ°λ₯ν λμμ μν΄μλ€.
Learnt from: dolong2
Repo: dolong2/dcd PR: 659
File: src/main/kotlin/com/dcd/server/core/domain/domain/usecase/ConnectDomainUseCase.kt:40-41
Timestamp: 2025-07-14T15:01:47.531Z
Learning: dolong2λ κΈ°λ₯μ μΌλ‘ λ¬Έμ κ° μλ μ½λ κ°μ μ¬νμ κ²½μ°, μ€μ λ‘ νμν λκΉμ§ μμ μ 미루λ μ€μ©μ μΈ μ κ·Όλ²μ μ νΈνλ€. μλ₯Ό λ€μ΄ μλ―Έλ‘ μ μ νμ±μ μν λ³κ²½μ ν΄λΉ κΈ°λ₯μ΄ μ€μ λ‘ νμν λ μμ νλ λ°©μμ ννλ€.
β° Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build and Test
κ°μ
μμ λ΄μ©
체ν¬λ¦¬μ€νΈ
Summary by CodeRabbit
λ¦΄λ¦¬μ€ λ ΈνΈ
βοΈ Tip: You can customize this high-level summary in your review settings.