Skip to content

Commit 1de7819

Browse files
[fix] 배포환경 Redis 관련 오류 설정 시도
* fix: dockerfile은 doppler 설정 모르도록 설정 변경 * fix: dockerfile doppler 제거 * fix: deploy에서 도플러 관련 설정
1 parent 8e61eed commit 1de7819

3 files changed

Lines changed: 18 additions & 28 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,6 @@ jobs:
7979
with:
8080
context: ./backend
8181
push: true
82-
build-args: |
83-
DOPPLER_TOKEN=${{ secrets.DOPPLER_TOKEN }}
8482
cache-from: type=registry,ref=ghcr.io/${{ steps.export_owner.outputs.owner_lc }}/${{ steps.export_image.outputs.image_name }}:cache
8583
cache-to: type=registry,ref=ghcr.io/${{ steps.export_owner.outputs.owner_lc }}/${{ steps.export_image.outputs.image_name }}:cache,mode=max
8684
tags: |
@@ -116,10 +114,18 @@ jobs:
116114
working-directory: /
117115
comment: Deploy
118116
command: |
119-
docker pull ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest && \
120-
docker stop app1 2>/dev/null || true && \
121-
docker rm app1 2>/dev/null || true && \
122-
docker run -d --name app1 --network common -p 8080:8080 \
123-
-e DOPPLER_TOKEN=${{ secrets.DOPPLER_TOKEN }} \
124-
ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest && \
125-
docker image prune -f
117+
docker pull ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest
118+
119+
docker stop app1 2>/dev/null || true
120+
docker rm app1 2>/dev/null || true
121+
122+
export DOPPLER_TOKEN="${{ secrets.DOPPLER_TOKEN }}"
123+
doppler secrets download --project waitfair --config prd --format env --no-file > /tmp/doppler.env
124+
unset DOPPLER_TOKEN
125+
126+
docker run -d --name app1 --network common -p 8080:8080 \
127+
--env-file /tmp/doppler.env \
128+
ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest
129+
130+
rm -f /tmp/doppler.env
131+
docker image prune -f

backend/Dockerfile

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,12 @@ COPY src src
1717
# Spring Boot 실행용 JAR 생성
1818
RUN ./gradlew bootJar --no-daemon -x test
1919

20-
# 두 번째 스테이지: 실행만 하는 가벼운 JRE 이미지
20+
# 2단계: 실행용 이미지
2121
FROM eclipse-temurin:21-jre
2222
WORKDIR /app
2323

24-
# Doppler CLI 설치
25-
RUN apt-get update && apt-get install -y apt-transport-https ca-certificates curl gnupg && \
26-
curl -sLf --retry 3 --tlsv1.2 --proto "=https" 'https://packages.doppler.com/public/cli/gpg.DE2A7741A397C129.key' | gpg --dearmor -o /usr/share/keyrings/doppler-archive-keyring.gpg && \
27-
echo "deb [signed-by=/usr/share/keyrings/doppler-archive-keyring.gpg] https://packages.doppler.com/public/cli/deb/debian any-version main" | tee /etc/apt/sources.list.d/doppler-cli.list && \
28-
apt-get update && \
29-
apt-get -y install doppler
30-
31-
# Build argument로 Doppler 토큰 받기
32-
ARG DOPPLER_TOKEN
33-
ENV DOPPLER_TOKEN=$DOPPLER_TOKEN
34-
ENV DOPPLER_PROJECT=waitfair
35-
ENV DOPPLER_CONFIG=prd
36-
37-
# 첫 번째 스테이지에서 빌드된 JAR 파일 복사
3824
COPY --from=builder /app/build/libs/*.jar app.jar
3925

4026
EXPOSE 8080
41-
## 실행할 JAR 파일 지정
42-
#ENTRYPOINT ["doppler", "run", "--project", "waitfair", "--config", "prd", "--", "java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]
4327

44-
# 임시 shell 형식으로 변경
45-
ENTRYPOINT ["/bin/sh", "-c", "doppler secrets download --project waitfair --config prd --format env --no-file > /tmp/.env && set -a && . /tmp/.env && exec java -jar -Dspring.profiles.active=prod app.jar"]
28+
ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-jar", "app.jar"]

backend/src/main/resources/application.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ spring:
2424
redis:
2525
host: localhost
2626
port: 6379
27+
password: ${REDIS_PASSWORD}
2728

2829
logging:
2930
level:

0 commit comments

Comments
 (0)