Skip to content

Commit ee146c1

Browse files
authored
Merge pull request #222 from solid-connection/develop
[RELEASE] 250217 릴리즈
2 parents 671f3e5 + 8f8cd67 commit ee146c1

File tree

8 files changed

+53
-17
lines changed

8 files changed

+53
-17
lines changed

.github/workflows/prod-cd.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: "[PROD] Build Gradle and Deploy"
22

33
on:
44
push:
5-
branches: [ "release" ] # todo: 스테이지 서버 cd 테스트 후 master 로 변경 필요
5+
branches: [ "master" ]
66
workflow_dispatch:
77

88
jobs:
@@ -33,7 +33,7 @@ jobs:
3333
run: chmod +x ./gradlew
3434

3535
- name: Build with Gradle
36-
run: ./gradlew bootJar -Dspring.profiles.active=prod
36+
run: ./gradlew bootJar
3737

3838
- name: Copy jar file to remote
3939
uses: appleboy/scp-action@master
@@ -59,7 +59,7 @@ jobs:
5959
host: ${{ secrets.HOST }}
6060
username: ${{ secrets.USERNAME }}
6161
key: ${{ secrets.PRIVATE_KEY }}
62-
source: "./docker-compose.yml"
62+
source: "./docker-compose.prod.yml"
6363
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"
6464

6565
- name: Run docker compose
@@ -72,4 +72,4 @@ jobs:
7272
script: |
7373
cd /home/${{ secrets.USERNAME }}/solid-connect-server
7474
docker compose down
75-
docker compose up -d --build
75+
docker compose -f docker-compose.prod.yml up -d --build

.github/workflows/stage-cd.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: "[STAGE] Build Gradle and Deploy"
22

33
on:
44
push:
5-
branches: [ "stage-test" ] # todo: 스테이지 서버 cd 테스트 후 release 로 변경 필요
5+
branches: [ "release" ]
66
workflow_dispatch:
77

88
jobs:
@@ -33,7 +33,7 @@ jobs:
3333
run: chmod +x ./gradlew
3434

3535
- name: Build with Gradle
36-
run: ./gradlew bootJar -Dspring.profiles.active=prod
36+
run: ./gradlew bootJar
3737

3838
- name: Copy jar file to remote
3939
uses: appleboy/scp-action@master
@@ -59,7 +59,7 @@ jobs:
5959
host: ${{ secrets.STAGE_HOST }}
6060
username: ${{ secrets.STAGE_USERNAME }}
6161
key: ${{ secrets.STAGE_PRIVATE_KEY }}
62-
source: "./docker-compose.yml"
62+
source: "./docker-compose.stage.yml"
6363
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
6464

6565
- name: Run docker compose
@@ -72,4 +72,4 @@ jobs:
7272
script: |
7373
cd /home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage
7474
docker compose down
75-
docker compose up -d --build
75+
docker compose -f docker-compose.stage.yml up -d --build

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ARG JAR_FILE=./build/libs/solid-connection-0.0.1-SNAPSHOT.jar
88
COPY ${JAR_FILE} app.jar
99

1010
# 시스템 진입점 정의
11-
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=prod"]
11+
ENTRYPOINT ["java", "-jar", "/app.jar"]
1212

1313
# 볼륨 설정
1414
VOLUME /tmp
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ services:
2525
ports:
2626
- "8080:8080"
2727
environment:
28+
- SPRING_PROFILES_ACTIVE=prod
2829
- SPRING_DATA_REDIS_HOST=redis
2930
- SPRING_DATA_REDIS_PORT=6379
3031
depends_on:
31-
- redis
32+
- redis

docker-compose.stage.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: '3.8'
2+
3+
services:
4+
redis:
5+
image: redis:latest
6+
container_name: redis
7+
ports:
8+
- "6379:6379"
9+
network_mode: host
10+
11+
redis-exporter:
12+
image: oliver006/redis_exporter
13+
container_name: redis-exporter
14+
ports:
15+
- "9121:9121"
16+
environment:
17+
REDIS_ADDR: "localhost:6379"
18+
depends_on:
19+
- redis
20+
network_mode: host
21+
22+
solid-connection-stage:
23+
build:
24+
context: .
25+
dockerfile: Dockerfile
26+
container_name: solid-connection-stage
27+
ports:
28+
- "8080:8080"
29+
environment:
30+
- SPRING_PROFILES_ACTIVE=stage
31+
depends_on:
32+
- redis
33+
network_mode: host

src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public class ApplicationQueryService {
4646
* - 1지망, 2지망 지원자들을 조회한다.
4747
* */
4848
@Transactional(readOnly = true)
49-
@ThunderingHerdCaching(key = "application:query:{1}:{2}", cacheManager = "customCacheManager", ttlSec = 86400)
49+
// todo: 임시로 단일 키로 캐시 적용. 추후 캐싱 전략 재검토 필요.
50+
@ThunderingHerdCaching(key = "applications:all", cacheManager = "customCacheManager", ttlSec = 86400)
5051
public ApplicationsResponse getApplicants(SiteUser siteUser, String regionCode, String keyword) {
5152
// 국가와 키워드와 지역을 통해 대학을 필터링한다.
5253
List<University> universities

src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.example.solidconnection.application.dto.ApplyRequest;
55
import com.example.solidconnection.application.dto.UniversityChoiceRequest;
66
import com.example.solidconnection.application.repository.ApplicationRepository;
7+
import com.example.solidconnection.cache.annotation.DefaultCacheOut;
78
import com.example.solidconnection.custom.exception.CustomException;
89
import com.example.solidconnection.score.domain.GpaScore;
910
import com.example.solidconnection.score.domain.LanguageTestScore;
@@ -18,14 +19,9 @@
1819
import org.springframework.stereotype.Service;
1920
import org.springframework.transaction.annotation.Transactional;
2021

21-
import java.util.ArrayList;
22-
import java.util.HashSet;
23-
import java.util.List;
2422
import java.util.Optional;
25-
import java.util.Set;
2623

2724
import static com.example.solidconnection.custom.exception.ErrorCode.APPLY_UPDATE_LIMIT_EXCEED;
28-
import static com.example.solidconnection.custom.exception.ErrorCode.CANT_APPLY_FOR_SAME_UNIVERSITY;
2925
import static com.example.solidconnection.custom.exception.ErrorCode.INVALID_GPA_SCORE;
3026
import static com.example.solidconnection.custom.exception.ErrorCode.INVALID_GPA_SCORE_STATUS;
3127
import static com.example.solidconnection.custom.exception.ErrorCode.INVALID_LANGUAGE_TEST_SCORE;
@@ -48,6 +44,11 @@ public class ApplicationSubmissionService {
4844
// 학점 및 어학성적이 모두 유효한 경우에만 지원서 등록이 가능하다.
4945
// 기존에 있던 status field 우선 APRROVED로 입력시킨다.
5046
@Transactional
47+
// todo: 임시로 새로운 신청 생성 시 기존 캐싱 데이터를 삭제한다. 추후 수정 필요
48+
@DefaultCacheOut(
49+
key = {"applications:all"},
50+
cacheManager = "customCacheManager"
51+
)
5152
public boolean apply(SiteUser siteUser, ApplyRequest applyRequest) {
5253
UniversityChoiceRequest universityChoiceRequest = applyRequest.universityChoiceRequest();
5354

src/main/resources/secret

0 commit comments

Comments
 (0)