From 3f8872c5369d67d5f47f920c1090ec4b02038101 Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 10:14:29 +0900 Subject: [PATCH 1/8] =?UTF-8?q?fix(hotfix/deployment):=20redis=20=ED=8F=AC?= =?UTF-8?q?=ED=8A=B8=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/docker-compose.yml | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/database/docker-compose.yml b/database/docker-compose.yml index 8c6e90c..0886328 100644 --- a/database/docker-compose.yml +++ b/database/docker-compose.yml @@ -10,7 +10,7 @@ services: container_name: redis-container # 접근 포트 설정(컨테이너 외부:컨테이너 내부) ports: - - "6379:6379" + - "15483:15483" # 스토리지 마운트(볼륨) 설정 volumes: - /home/ubuntu/db/redis/data:/data diff --git a/docker-compose.yml b/docker-compose.yml index f249350..816609e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: environment: SPRING_PROFILES_ACTIVE: prod SPRING_REDIS_HOST: redis-container - SPRING_REDIS_PORT: 6379 + SPRING_REDIS_PORT: 15483 # docker 컨테이너가 중단되었을때 다시 자동으로 자동 재시작 하지 않음 restart: "no" volumes: From c5470104df9cfc9e977652aebd8e49e0f77c255d Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 11:05:25 +0900 Subject: [PATCH 2/8] =?UTF-8?q?fix(hotfix/deployment):=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=20=EB=B3=80=EC=88=98=EC=9D=98=20=EC=95=88=EC=A0=84?= =?UTF-8?q?=ED=95=9C=20=EC=A3=BC=EC=9E=85=20=EC=9C=84=ED=95=9C=20=ED=98=95?= =?UTF-8?q?=EC=8B=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yml | 11 ++++++++++- database/docker-compose.yml | 2 +- docker-compose.yml | 5 +++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index d095cc8..264d557 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -71,7 +71,16 @@ jobs: # 8 단계: .env 파일을 생성해서 환경변수 준비 - name: Create .env file from secret run: | - echo "${{ secrets.APP_ENV }}" > .env + echo "DEPLOY_DB_URL=${{ secrets.DEPLOY_DB_URL }}" > .env + echo "DEPLOY_DB_USERNAME=${{ secrets.DEPLOY_DB_USERNAME }}" > .env + echo "DEPLOY_DB_PASSWORD=${{ secrets.DEPLOY_DB_PASSWORD }}" > .env + echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" > .env + echo "SENDGRID_API_KEY=${{ secrets.SENDGRID_API_KEY }}" > .env + echo "SENDGRID_FROM_EMAIL=${{ secrets.SENDGRID_FROM_EMAIL }}" > .env + echo "SENDGRID_TEMPLATE_ID=${{ secrets.SENDGRID_TEMPLATE_ID }}" > .env + echo "DEPLOY_REDIS_HOST=${{ secrets.DEPLOY_REDIS_HOST }}" > .env + echo "DEPLOY_REDIS_PORT=${{ secrets.DEPLOY_REDIS_PORT }}" > .env + echo "DEPLOY_REDIS_PASSWORD=${{ secrets.DEPLOY_REDIS_PASSWORD }}" > .env # 8.5 단계: .env, docker-compose.yml 파일 EC2로 복사 - name: Copy files to EC2 diff --git a/database/docker-compose.yml b/database/docker-compose.yml index 0886328..e94c1c6 100644 --- a/database/docker-compose.yml +++ b/database/docker-compose.yml @@ -21,7 +21,7 @@ services: - "mode=standalone" # 컨테이너 종료시 재시작 여부 설정 restart: always - command: redis-server /usr/local/conf/redis.conf + command: ["redis-server", "/usr/local/conf/redis.conf"] networks: default: diff --git a/docker-compose.yml b/docker-compose.yml index 816609e..8be7035 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,8 +14,9 @@ services: # application-prod.yml 파일을 활성화 시킴 environment: SPRING_PROFILES_ACTIVE: prod - SPRING_REDIS_HOST: redis-container - SPRING_REDIS_PORT: 15483 + SPRING_REDIS_HOST: ${DEPLOY_REDIS_HOST} + SPRING_REDIS_PORT: ${DEPLOY_REDIS_PORT} + SPRING_REDIS_PASSWORD: ${DEPLOY_REDIS_PASSWORD} # docker 컨테이너가 중단되었을때 다시 자동으로 자동 재시작 하지 않음 restart: "no" volumes: From 70eb2f91776826006dd0112cb99e322434d7266d Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 11:22:56 +0900 Subject: [PATCH 3/8] =?UTF-8?q?test(hotfix/deployment):=20test=20=EC=9A=A9?= =?UTF-8?q?=20=EA=B8=B0=EC=A4=80=20=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=5Fv.2.5.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 264d557..c5e510c 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -4,8 +4,8 @@ name: CI/CD Docker to EC2 # 언제 이 워크플로우를 실행할지 정하는 부분임. on: push: - # "release/2.5.2" 브랜치에 코드가 push 될 때마다 실행될 거임. - branches: [ "release/2.5.2" ] + # "hotfix/deployment" 브랜치에 코드가 push 될 때마다 실행될 거임. + branches: [ "hotfix/deployment" ] # 워크플로우가 해야 할 작업(job)들을 정의함. jobs: From 8dfffbf6fd41e5da2030c846c5c286b207e6dc00 Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 11:29:00 +0900 Subject: [PATCH 4/8] =?UTF-8?q?fix(hotfix/deployment):=20.env=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=83=9D=EC=84=B1=EB=B0=A9=EB=B2=95=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index c5e510c..093081e 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -71,16 +71,16 @@ jobs: # 8 단계: .env 파일을 생성해서 환경변수 준비 - name: Create .env file from secret run: | - echo "DEPLOY_DB_URL=${{ secrets.DEPLOY_DB_URL }}" > .env - echo "DEPLOY_DB_USERNAME=${{ secrets.DEPLOY_DB_USERNAME }}" > .env - echo "DEPLOY_DB_PASSWORD=${{ secrets.DEPLOY_DB_PASSWORD }}" > .env - echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" > .env - echo "SENDGRID_API_KEY=${{ secrets.SENDGRID_API_KEY }}" > .env - echo "SENDGRID_FROM_EMAIL=${{ secrets.SENDGRID_FROM_EMAIL }}" > .env - echo "SENDGRID_TEMPLATE_ID=${{ secrets.SENDGRID_TEMPLATE_ID }}" > .env - echo "DEPLOY_REDIS_HOST=${{ secrets.DEPLOY_REDIS_HOST }}" > .env - echo "DEPLOY_REDIS_PORT=${{ secrets.DEPLOY_REDIS_PORT }}" > .env - echo "DEPLOY_REDIS_PASSWORD=${{ secrets.DEPLOY_REDIS_PASSWORD }}" > .env + echo "DEPLOY_DB_URL=${{ secrets.DEPLOY_DB_URL }}" >> .env + echo "DEPLOY_DB_USERNAME=${{ secrets.DEPLOY_DB_USERNAME }}" >> .env + echo "DEPLOY_DB_PASSWORD=${{ secrets.DEPLOY_DB_PASSWORD }}" >> .env + echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" >> .env + echo "SENDGRID_API_KEY=${{ secrets.SENDGRID_API_KEY }}" >> .env + echo "SENDGRID_FROM_EMAIL=${{ secrets.SENDGRID_FROM_EMAIL }}" >> .env + echo "SENDGRID_TEMPLATE_ID=${{ secrets.SENDGRID_TEMPLATE_ID }}" >> .env + echo "DEPLOY_REDIS_HOST=${{ secrets.DEPLOY_REDIS_HOST }}" >> .env + echo "DEPLOY_REDIS_PORT=${{ secrets.DEPLOY_REDIS_PORT }}" >> .env + echo "DEPLOY_REDIS_PASSWORD=${{ secrets.DEPLOY_REDIS_PASSWORD }}" >> .env # 8.5 단계: .env, docker-compose.yml 파일 EC2로 복사 - name: Copy files to EC2 From ff77a6faacc9e44f4a40988da06c423bb476805d Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 12:08:20 +0900 Subject: [PATCH 5/8] =?UTF-8?q?fix(hotfix/deployment):=20redis=20=EB=B9=84?= =?UTF-8?q?=EB=B0=80=EB=B2=88=ED=98=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-prod.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 3a5c54a..60e2c48 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -11,6 +11,7 @@ spring: redis: host: ${DEPLOY_REDIS_HOST} port: ${DEPLOY_REDIS_PORT} + password: ${DEPLOY_REDIS_PASSWORD} timeout: 3000 ssl: enabled: true From be158f0311ddadfb91128ee62c13f7806376f27d Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 12:18:35 +0900 Subject: [PATCH 6/8] =?UTF-8?q?fix(hotfix/deployment):=20redis=20ssl=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 60e2c48..343db9e 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -14,4 +14,4 @@ spring: password: ${DEPLOY_REDIS_PASSWORD} timeout: 3000 ssl: - enabled: true + enabled: false From a8f8aea97a5e93782da2c898dfdc7292c5dfd0de Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 14:34:23 +0900 Subject: [PATCH 7/8] =?UTF-8?q?fix(hotfix/deployment):=20redis=20port=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/docker-compose.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/database/docker-compose.yml b/database/docker-compose.yml index e94c1c6..63528f7 100644 --- a/database/docker-compose.yml +++ b/database/docker-compose.yml @@ -10,7 +10,10 @@ services: container_name: redis-container # 접근 포트 설정(컨테이너 외부:컨테이너 내부) ports: - - "15483:15483" + - "15483:6379" + # 내부 컨테이너 접속용 + expose: + - "6379" # 스토리지 마운트(볼륨) 설정 volumes: - /home/ubuntu/db/redis/data:/data From 16f245ed29572c65bc96ef70fd823e608bf9ef1a Mon Sep 17 00:00:00 2001 From: doohaaa Date: Tue, 19 Aug 2025 16:11:28 +0900 Subject: [PATCH 8/8] =?UTF-8?q?fix(hotfix/deployment):=20redis=20password?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workoutmate/global/config/RedisConfig.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/example/workoutmate/global/config/RedisConfig.java b/src/main/java/com/example/workoutmate/global/config/RedisConfig.java index d290baa..9f071fb 100644 --- a/src/main/java/com/example/workoutmate/global/config/RedisConfig.java +++ b/src/main/java/com/example/workoutmate/global/config/RedisConfig.java @@ -26,6 +26,9 @@ public class RedisConfig { @Value("${spring.data.redis.port}") private int redisPort; + @Value("${spring.data.redis.password}") + private String redisPassword; + @Bean public ObjectMapper objectMapper() { ObjectMapper mapper = new ObjectMapper(); @@ -39,6 +42,7 @@ public RedisConnectionFactory defaultRedisConnectionFactory() { RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(); config.setHostName(redisHost); config.setPort(redisPort); + config.setPassword(redisPassword); return new LettuceConnectionFactory(config); }