Skip to content

Commit 22b12b5

Browse files
authored
Merge pull request #145 from Central-MakeUs/dev
[fix] ์ˆ˜์ •๋ณธ ๋ฐ˜์˜
2 parents c79b82c + 1e0cc99 commit 22b12b5

32 files changed

+485
-153
lines changed
Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy To EC2 (Blue-Green via Bastion)
1+
name: Deploy To EC2 (Blue-Green Public)
22

33
on:
44
push:
@@ -8,13 +8,13 @@ permissions:
88
contents: read
99

1010
jobs:
11-
# 1๏ธโƒฃ BUILD JOB
11+
# 1๏ธโƒฃ BUILD JOB: ๋นŒ๋“œ ๋ฐ ECR ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ
1212
build:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@v4
1616

17-
- uses: actions/setup-java@v4
17+
- uses: images/setup-java@v4
1818
with:
1919
distribution: temurin
2020
java-version: 17
@@ -27,7 +27,8 @@ jobs:
2727
chmod +x ./gradlew
2828
./gradlew clean build -x test
2929
30-
- uses: aws-actions/configure-aws-credentials@v4
30+
- name: Configure AWS Credentials
31+
uses: aws-actions/configure-aws-credentials@v4
3132
with:
3233
aws-region: ap-northeast-2
3334
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
@@ -44,45 +45,39 @@ jobs:
4445
docker tag forday:latest 839983937363.dkr.ecr.ap-northeast-2.amazonaws.com/forday:latest
4546
docker push 839983937363.dkr.ecr.ap-northeast-2.amazonaws.com/forday:latest
4647
47-
# 2๏ธโƒฃ DEPLOY JOB
48+
# 2๏ธโƒฃ DEPLOY JOB: Public EC2์— ์ง์ ‘ ์ ‘์†ํ•˜์—ฌ ๋ฐฐํฌ
4849
deploy:
4950
needs: build
5051
runs-on: ubuntu-latest
5152
steps:
52-
- name: Configure SSH (Bastion โ†’ Private)
53+
- name: Configure SSH
5354
run: |
5455
mkdir -p ~/.ssh
5556
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
5657
chmod 600 ~/.ssh/id_rsa
57-
58+
59+
# ๋ณ„์นญ(Alias)์„ 'ec2-server'๋กœ ์„ค์ •ํ•˜์—ฌ ์ ‘์† ๊ฐ„์†Œํ™”
5860
cat <<EOF >> ~/.ssh/config
59-
Host bastion
60-
HostName ${{ secrets.BASTION_HOST }}
61+
Host ec2-server
62+
HostName ${{ secrets.EC2_PUBLIC_IP }}
6163
User ubuntu
6264
IdentityFile ~/.ssh/id_rsa
6365
StrictHostKeyChecking no
64-
65-
Host private
66-
HostName ${{ secrets.EC2_PRIVATE_HOST }}
67-
User ubuntu
68-
IdentityFile ~/.ssh/id_rsa
69-
ProxyJump bastion
70-
StrictHostKeyChecking no
7166
EOF
7267
73-
- name: Blue-Green Deploy
68+
- name: Blue-Green Deploy via SSH
7469
run: |
75-
ssh private << 'EOF'
70+
ssh ec2-server << 'EOF'
7671
set -e
7772
78-
echo "โ–ถ Detect current upstream from nginx env file"
73+
echo "โ–ถ Nginx ํ™˜๊ฒฝ ์„ค์ • ํ™•์ธ"
7974
if [ -f /etc/nginx/conf.d/service-env.inc ]; then
8075
CURRENT_VAL=$(grep -oP '(?<=set \$service_url ).*(?=;)' /etc/nginx/conf.d/service-env.inc || echo "blue")
8176
else
8277
CURRENT_VAL="blue"
8378
fi
8479
85-
echo "ํ˜„์žฌ ์„œ๋น„์Šค ์ƒํƒœ: $CURRENT_VAL"
80+
echo "ํ˜„์žฌ ์„œ๋น„์Šค ์œ„์น˜: $CURRENT_VAL"
8681
8782
if [ "$CURRENT_VAL" = "blue" ]; then
8883
TARGET="green"
@@ -94,20 +89,19 @@ jobs:
9489
OLD_TARGET="green"
9590
fi
9691
97-
echo "โ–ถ Deploy target: $TARGET (port: $TARGET_PORT)"
98-
echo "โ–ถ Old container: $OLD_TARGET"
92+
echo "โ–ถ ๋ฐฐํฌ ๋Œ€์ƒ: $TARGET (ํฌํŠธ: $TARGET_PORT)"
9993
100-
# ECR ๋กœ๊ทธ์ธ
94+
# EC2 ๋‚ด๋ถ€์—์„œ ECR ๋กœ๊ทธ์ธ
10195
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 839983937363.dkr.ecr.ap-northeast-2.amazonaws.com
10296
103-
echo "โ–ถ Pull image"
97+
echo "โ–ถ ์ตœ์‹  ์ด๋ฏธ์ง€ Pull"
10498
docker pull 839983937363.dkr.ecr.ap-northeast-2.amazonaws.com/forday:latest
10599
106-
echo "โ–ถ Stop & remove current $TARGET (if exists)"
100+
echo "โ–ถ $TARGET ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™”"
107101
docker stop $TARGET || true
108102
docker rm $TARGET || true
109103
110-
echo "โ–ถ Run new $TARGET"
104+
echo "โ–ถ $TARGET ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰"
111105
docker run -d \
112106
--name $TARGET \
113107
--restart=always \
@@ -117,32 +111,33 @@ jobs:
117111
-e SPRING_DATA_REDIS_PORT=6379 \
118112
839983937363.dkr.ecr.ap-northeast-2.amazonaws.com/forday:latest
119113
120-
echo "โ–ถ Health Check"
114+
echo "โ–ถ ํ—ฌ์Šค ์ฒดํฌ ์‹œ์ž‘ (http://localhost:$TARGET_PORT/health_check)"
115+
HEALTH_OK=false
121116
for i in {1..20}; do
122117
if curl -sf http://localhost:$TARGET_PORT/health_check; then
123-
echo "Health OK"
118+
echo "โœ… ํ—ฌ์Šค ์ฒดํฌ ์„ฑ๊ณต!"
124119
HEALTH_OK=true
125120
break
126121
fi
127-
echo "Waiting... ($i/20)"
122+
echo "๋Œ€๊ธฐ ์ค‘... ($i/20)"
128123
sleep 5
129124
done
130125
131126
if [ "$HEALTH_OK" != "true" ]; then
132-
echo "โŒ Health check failed. Rollback."
127+
echo "โŒ ํ—ฌ์Šค ์ฒดํฌ ์‹คํŒจ. ๋ฐฐํฌ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค."
133128
docker logs $TARGET
134129
exit 1
135130
fi
136131
137-
echo "โ–ถ Switching Nginx upstream to $TARGET"
132+
echo "โ–ถ Nginx ์Šค์œ„์นญ: $TARGET"
138133
echo "set \$service_url $TARGET;" | sudo tee /etc/nginx/conf.d/service-env.inc
139134
140135
sudo nginx -t
141136
sudo nginx -s reload
142137
143-
echo "โ–ถ Stopping OLD container: $OLD_TARGET"
138+
echo "โ–ถ ์ด์ „ ์ปจํ…Œ์ด๋„ˆ($OLD_TARGET) ์ •๋ฆฌ"
144139
docker stop $OLD_TARGET || true
145140
docker rm $OLD_TARGET || true
146141
147-
echo "โœ… Deployment complete. Now running: $TARGET"
148-
EOF
142+
echo "๐Ÿš€ ๋ฐฐํฌ ์™„๋ฃŒ! ํ˜„์žฌ ์‹คํ–‰ ์ค‘: $TARGET"
143+
EOF
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.example.ForDay.domain.activity.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
@Data
9+
@AllArgsConstructor
10+
@NoArgsConstructor
11+
@Builder
12+
public class FastAPIHobbyCardReqDto {
13+
private Long userHobbyId;
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.example.ForDay.domain.activity.dto.response;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
@Data
9+
@AllArgsConstructor
10+
@NoArgsConstructor
11+
public class FastAPIHobbyCardResDto {
12+
@JsonProperty("content")
13+
private String content;
14+
}

โ€Žsrc/main/java/com/example/ForDay/domain/activity/entity/Activity.javaโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class Activity extends BaseTimeEntity {
2929
@JoinColumn(name = "user_hobby_id", nullable = false)
3030
private Hobby hobby;
3131

32-
@Column(nullable = false, length = 100)
32+
@Column(nullable = false, length = 25)
3333
private String content;
3434

3535
private boolean aiRecommended;

โ€Žsrc/main/java/com/example/ForDay/domain/activity/repository/ActivityRepository.javaโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import com.example.ForDay.domain.activity.entity.Activity;
5+
import com.example.ForDay.domain.record.entity.ActivityRecord;
56
import org.springframework.data.jpa.repository.JpaRepository;
67
import org.springframework.data.jpa.repository.Query;
78
import org.springframework.data.repository.query.Param;
@@ -11,4 +12,5 @@
1112
public interface ActivityRepository extends JpaRepository<Activity, Long>, ActivityRepositoryCustom{
1213
@Query("SELECT a FROM Activity a WHERE a.id = :activityId AND a.user.id = :userId")
1314
Optional<Activity> findByIdAndUserId(@Param("activityId") Long activityId,@Param("userId") String userId);
15+
1416
}

0 commit comments

Comments
ย (0)