@@ -3,7 +3,7 @@ FROM gradle:8.10.2-jdk17 AS builder
33# 작업 디렉토리 설정
44WORKDIR /build
55
6- # 소스 복사 (모듈 전체가 아닌 현재 모듈만 복사)
6+ # 소스 복사
77COPY gradlew settings.gradle build.gradle ./
88COPY gradle gradle/
99COPY cs25-service cs25-service/
@@ -12,6 +12,8 @@ COPY cs25-common cs25-common/
1212
1313# 테스트 생략하여 빌드 안정화
1414RUN ./gradlew :cs25-service:bootJar --stacktrace --no-daemon
15+
16+
1517FROM eclipse-temurin:17-jre-jammy
1618
1719# 메타 정보
@@ -20,12 +22,23 @@ LABEL type="application" module="cs25-service"
2022# 작업 디렉토리
2123WORKDIR /apps
2224
23- # Node.js + npm 설치 후, MCP 서버 전역 설치
25+ # Node.js + npm 설치 후, MCP 서버 전역 설치 + 심볼릭 링크 생성 + 빌드 타임 확인
2426RUN apt-get update \
2527 && apt-get install -y --no-install-recommends curl ca-certificates gnupg bash \
2628 && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
2729 && apt-get install -y --no-install-recommends nodejs \
2830 && npm install -g @modelcontextprotocol/server-brave-search \
31+ && ln -sf "$(npm bin -g)/server-brave-search" /usr/local/bin/server-brave-search \
32+ \
33+ # ===== 실행 가능 여부 확인 =====
34+ && echo "=== npm bin 경로 확인 ===" \
35+ && npm bin -g \
36+ && echo "=== server-brave-search 바이너리 확인 ===" \
37+ && ls -l "$(npm bin -g)/server-brave-search" \
38+ && ls -l /usr/local/bin/server-brave-search \
39+ && echo "=== server-brave-search --help 실행 ===" \
40+ && /usr/local/bin/server-brave-search --help || (echo "[ERROR] server-brave-search 실행 실패" && exit 1) \
41+ \
2942 && npm cache clean --force \
3043 && apt-get purge -y gnupg \
3144 && apt-get autoremove -y --purge \
@@ -35,8 +48,8 @@ RUN apt-get update \
3548# jar 복사
3649COPY --from=builder /build/cs25-service/build/libs/*.jar app.jar
3750
38- # 포트 오픈 (service는 8080)
51+ # 포트 오픈
3952EXPOSE 8080
4053
4154# 실행
42- ENTRYPOINT ["java" , "-jar" , "/apps/app.jar" ]
55+ ENTRYPOINT ["java" , "-jar" , "/apps/app.jar" ]
0 commit comments