Skip to content

fix: 올바른 홈 디렉토리 경로로 수정#873

Draft
huncozyboy wants to merge 44 commits into
developfrom
fix/#873
Draft

fix: 올바른 홈 디렉토리 경로로 수정#873
huncozyboy wants to merge 44 commits into
developfrom
fix/#873

Conversation

@huncozyboy

Copy link
Copy Markdown
Member

👩‍💻 Contents

deploy.sh가 있는 올바른 경로로 수정하였습니다.

✅ 점검사항

  • docker-compose.yml 파일에 마이그레이션 한 API의 포워딩을 변경해줬나요?
  • Spring Secret 값을 수정하거나 추가했다면 Github Secret에서 수정을 해줬나요?
  • Nestjs Secret 값을 수정하거나 추가했다면 Docker-Compose.yml 파일 및 인스턴스 내부의 .env 파일을 수정했나요?

@huncozyboy huncozyboy self-assigned this May 2, 2026
@coderabbitai

coderabbitai Bot commented May 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f39092fb-e3a1-4c41-af1e-df32e960d8a8

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

개요

프로덕션 배포 SSH 명령어의 작업 디렉터리를 cd ~./crew에서 cd ~/crew로 수정하고, 빌드 아티팩트 명명과 복사 방식을 일관되게 변경했으며, Redis 캐싱을 비활성화했습니다.

변경사항

빌드 아티팩트 구성

레이어 / 파일 요약
빌드 설정
main/build.gradle
jar 작업에서 archiveClassifier'plain'으로 설정하고, bootJar 작업에서 archiveFileName'app.jar'로 지정합니다.
Redis 설정 비활성화
main/src/main/java/org/sopt/makers/crew/main/external/redis/RedisConfig.java
@EnableCaching@Profile("lambda-dev") 주석 처리, Redis 빈 정의(RedisConnectionFactory, RedisTemplate, RedisCacheManager) 제거.
런타임 아티팩트 복사
main/Dockerfile
런타임 스테이지에서 build/libs/*.jar이 아닌 build/libs/app.jar만 컨테이너에 복사합니다.

배포 스크립트 수정

레이어 / 파일 요약
SSH 배포 명령
.github/workflows/prod-ci-cd.yml
SSH 배포 스크립트의 작업 디렉터리 명령을 cd ~./crew에서 cd ~/crew로 수정하여 chmod./deploy.sh가 올바른 위치에서 실행되도록 합니다.

예상 코드 리뷰 난이도

🎯 3 (중간) | ⏱️ ~25분

관련 PR

추천 라벨

🐞 fix, size/L

추천 리뷰어

  • khyojun
  • move-hoon

축하 시

🐰 경로를 고쳐서 배포 순조로우,
아티팩트 이름은 일관되게,
Redis 캐시 멈춰 있고,
빌드는 더 단정하니,
버그 없는 운영 즐거워라! 🎉

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning PR 제목은 '올바른 홈 디렉토리 경로로 수정'이지만, 실제 변경사항은 홈 디렉토리 경로 수정뿐만 아니라 Dockerfile, build.gradle, RedisConfig 등 다양한 파일의 구조적 변경을 포함하고 있습니다. PR 제목을 더 정확하게 수정하여 주요 변경사항을 반영하도록 업데이트하세요. 예: 'hotfix: 배포 스크립트, 빌드 설정, Redis 캐싱 비활성화' 또는 각 주요 변경사항을 명확히 구분하여 기술하세요.
Description check ⚠️ Warning PR 설명에서는 홈 디렉토리 경로 수정만 언급되어 있지만, 실제 변경사항에는 Docker JAR 복사 경로, build.gradle 아티팩트 설정, Redis 캐싱 비활성화 등 중요한 변경들이 포함되어 있습니다. PR 설명을 업데이트하여 모든 주요 변경사항(Dockerfile, build.gradle, RedisConfig 변경)을 명확하게 기술하고, 각 변경의 목적과 영향범위를 설명하세요.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#873

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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@main/src/main/java/org/sopt/makers/crew/main/external/redis/RedisConfig.java`:
- Around line 6-7: CaffeineConfig is disabled for the "lambda-dev" profile so
all `@Cacheable/`@CachePut/@CacheEvict become no-ops; add a small profile-specific
cache configuration that enables Spring caching and provides an in-memory
CacheManager for lambda-dev (e.g., create a LambdaDevCacheConfig or update
RedisConfig to annotate `@Configuration` and `@Profile`("lambda-dev") and add
`@EnableCaching` plus a CacheManager bean that returns a ConcurrentMapCacheManager
(or similar simple fallback) so MeetingReader, CoLeaderReader, UserReader,
MeetingV2ServiceImpl, FlashV2ServiceImpl, AuthV2UserCacheCommandServiceImpl keep
functional caching when Redis is disabled.
🪄 Autofix (Beta)

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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 58f41a53-935f-431b-a656-5667cce4959a

📥 Commits

Reviewing files that changed from the base of the PR and between 9d38b91 and 0d8eb53.

📒 Files selected for processing (4)
  • .github/workflows/prod-ci-cd.yml
  • main/Dockerfile
  • main/build.gradle
  • main/src/main/java/org/sopt/makers/crew/main/external/redis/RedisConfig.java

Comment on lines +6 to +7
//@EnableCaching
//@Profile("lambda-dev")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "[1] Active cache-related annotations"
rg -nP '^\s*@EnableCaching|^\s*@Profile\("!?lambda-dev"\)|^\s*@Cacheable|^\s*@CachePut|^\s*@CacheEvict' main/src/main/java

echo
echo "[2] RedisConfig"
sed -n '1,120p' main/src/main/java/org/sopt/makers/crew/main/external/redis/RedisConfig.java

echo
echo "[3] CaffeineConfig"
sed -n '1,80p' main/src/main/java/org/sopt/makers/crew/main/external/caffeine/CaffeineConfig.java

Repository: sopt-makers/sopt-crew-backend

Length of output: 3393


lambda-dev 프로필에서 캐싱이 비활성화됩니다.

CaffeineConfig에서 @EnableCaching@Profile("!lambda-dev")로 설정되어 있어서, lambda-dev 프로필에서는 어떤 캐시 설정도 활성화되지 않습니다. 그 결과 MeetingReader, CoLeaderReader, UserReader, MeetingV2ServiceImpl, FlashV2ServiceImpl, AuthV2UserCacheCommandServiceImpl@Cacheable/@CachePut/@CacheEvict 모든 어노테이션이 no-op이 됩니다. 의도가 "Redis 비활성화"라면, 캐싱 자체는 유지되도록 lambda-dev 전용 fallback CacheManager를 제공하는 편이 안전합니다.

예시 수정안
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;

 `@Configuration`
+@EnableCaching
+@Profile("lambda-dev")
 public class RedisConfig {
+	`@Bean`
+	public CacheManager cacheManager() {
+		return new ConcurrentMapCacheManager(
+			"meetingCache",
+			"coLeadersCache",
+			"meetingLeaderCache",
+			"orgIdCache"
+		);
+	}
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
//@EnableCaching
//@Profile("lambda-dev")
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
`@Configuration`
`@EnableCaching`
`@Profile`("lambda-dev")
public class RedisConfig {
`@Bean`
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager(
"meetingCache",
"coLeadersCache",
"meetingLeaderCache",
"orgIdCache"
);
}
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@main/src/main/java/org/sopt/makers/crew/main/external/redis/RedisConfig.java`
around lines 6 - 7, CaffeineConfig is disabled for the "lambda-dev" profile so
all `@Cacheable/`@CachePut/@CacheEvict become no-ops; add a small profile-specific
cache configuration that enables Spring caching and provides an in-memory
CacheManager for lambda-dev (e.g., create a LambdaDevCacheConfig or update
RedisConfig to annotate `@Configuration` and `@Profile`("lambda-dev") and add
`@EnableCaching` plus a CacheManager bean that returns a ConcurrentMapCacheManager
(or similar simple fallback) so MeetingReader, CoLeaderReader, UserReader,
MeetingV2ServiceImpl, FlashV2ServiceImpl, AuthV2UserCacheCommandServiceImpl keep
functional caching when Redis is disabled.

@huncozyboy
huncozyboy marked this pull request as draft May 2, 2026 14:58
huncozyboy added a commit that referenced this pull request May 2, 2026
hotfix: 올바른 홈 디렉토리 경로로 수정
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants