Skip to content

Commit 7ffc097

Browse files
[fix] 배포 Redis 설정 문제 해결
* fix: dockerfile 내 doppler 설정 삭제 * fix: deploy.yml에서 도플러 관련 설정 진행 * fix: doppler cli 없을때만 설치
1 parent 07cd749 commit 7ffc097

3 files changed

Lines changed: 21 additions & 51 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,6 @@ jobs:
5454
steps:
5555
- uses: actions/checkout@v4
5656

57-
#환경 변수
58-
#도플러 변경 예정
59-
# - name: application-secret 추가
60-
# env:
61-
# ACTIONS_STEP_DEBUG: true
62-
# APPLICATION_SECRET: ${{ secrets.APPLICATION_SECRET }}
63-
# run: echo "$APPLICATION_SECRET" > src/main/resources/application-secret.yml
64-
6557
- name: Docker Buildx 설치
6658
uses: docker/setup-buildx-action@v2
6759

@@ -87,8 +79,6 @@ jobs:
8779
with:
8880
context: ./backend
8981
push: true
90-
build-args: |
91-
DOPPLER_TOKEN=${{ secrets.DOPPLER_TOKEN }}
9282
cache-from: type=registry,ref=ghcr.io/${{ steps.export_owner.outputs.owner_lc }}/${{ steps.export_image.outputs.image_name }}:cache
9383
cache-to: type=registry,ref=ghcr.io/${{ steps.export_owner.outputs.owner_lc }}/${{ steps.export_image.outputs.image_name }}:cache,mode=max
9484
tags: |
@@ -124,10 +114,28 @@ jobs:
124114
working-directory: /
125115
comment: Deploy
126116
command: |
117+
if ! command -v doppler &> /dev/null
118+
then
119+
echo "Doppler CLI not found. Installing now..."
120+
# (Debian/Ubuntu 기준 설치 명령어)
121+
curl -sLf --retry 3 --tlsv1.2 --proto "=https" '...' | sudo gpg --dearmor -o /usr/share/keyrings/doppler-archive-keyring.gpg && \
122+
echo "deb [signed-by=/usr/share/keyrings/doppler-archive-keyring.gpg] https://packages.doppler.com/public/cli/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/doppler-cli.list && \
123+
sudo apt-get update && \
124+
sudo apt-get -y install doppler
125+
else
126+
echo "Doppler CLI is already installed."
127+
fi && \
128+
129+
export DOPPLER_TOKEN="${{ secrets.DOPPLER_TOKEN }}" && \
127130
docker pull ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest && \
131+
128132
docker stop app1 2>/dev/null || true && \
129133
docker rm app1 2>/dev/null || true && \
134+
135+
export DOPPLER_TOKEN="${{ secrets.DOPPLER_TOKEN }}" && \
136+
doppler run --project waitfair --config prd -- \
130137
docker run -d --name app1 --network common -p 8080:8080 \
131-
-e DOPPLER_TOKEN=${{ secrets.DOPPLER_TOKEN }} \
132138
ghcr.io/${{ needs.buildImageAndPush.outputs.owner_lc }}/${{ needs.buildImageAndPush.outputs.image_name }}:latest && \
139+
140+
unset DOPPLER_TOKEN && \
133141
docker image prune -f

backend/Dockerfile

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,46 +21,9 @@ RUN ./gradlew bootJar --no-daemon -x test
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-
3724
# 첫 번째 스테이지에서 빌드된 JAR 파일 복사
3825
COPY --from=builder /app/build/libs/*.jar app.jar
3926

4027
EXPOSE 8080
41-
# 실행할 JAR 파일 지정
42-
ENTRYPOINT ["doppler", "run", "--project", "waitfair", "--config", "prd", "--", "java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]
43-
44-
45-
46-
47-
## 1단계: Gradle로 Spring Boot JAR 빌드
48-
#FROM gradle:8.10.0-jdk21 AS builder
49-
#WORKDIR /app
50-
#
51-
## 프로젝트 전체 복사 (컨텍스트: backend/)
52-
#COPY . .
53-
#
54-
## Gradle Wrapper 실행 권한 부여 후 빌드
55-
#RUN chmod +x gradlew \
56-
# && ./gradlew clean bootJar --no-daemon
57-
#
58-
## 2단계: 실행만 하는 가벼운 JRE 이미지
59-
#FROM eclipse-temurin:21-jre
60-
#WORKDIR /app
61-
#
62-
## 빌드 결과 JAR 복사 (libs 안에 하나만 있다고 가정)
63-
#COPY --from=builder /app/build/libs/*.jar app.jar
64-
#
65-
#EXPOSE 8080
66-
#ENTRYPOINT ["java", "-jar", "app.jar"]
28+
## 실행할 JAR 파일 지정
29+
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]

backend/src/main/resources/application.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ spring:
33
import: optional:file:.env.properties
44
profiles:
55
active: dev
6-
include: secret
76
output:
87
ansi:
98
enabled: always

0 commit comments

Comments
 (0)