Skip to content

Commit 488ae01

Browse files
committed
refactor[initData]: 기존 initdata 삭제, init.sql로 변경
1 parent ce6d34f commit 488ae01

File tree

6 files changed

+66
-67
lines changed

6 files changed

+66
-67
lines changed

.github/workflows/CI-CD_Pipeline.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,7 @@ jobs:
263263
PROD_DATASOURCE_DRIVER=com.mysql.cj.jdbc.Driver
264264
PROD_DATASOURCE_USERNAME=root
265265
PROD_DATASOURCE_PASSWORD=${{ secrets.DB_PASSWORD }}
266-
# 추후 validate 변경
267-
PROD_JPA_HIBERNATE_DDL_AUTO=create
266+
PROD_JPA_HIBERNATE_DDL_AUTO=none
268267
269268
PROD_REDIS_HOST=redis
270269
PROD_REDIS_PORT=6379
@@ -274,7 +273,6 @@ jobs:
274273
PROD_QDRANT_PORT=6334
275274
276275
send_email_address=${{ secrets.SEND_EMAIL_ADDRESS }}
277-
email_address=${{ secrets.EMAIL_ADDRESS }}
278276
send_email_password=${{ secrets.EMAIL_PASSWORD }}
279277
280278
PROD_SENTRY_DSN=${{ secrets.SENTRY_DSN }}

backend/src/main/java/com/ai/lawyer/global/initData/InitData.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

backend/src/main/resources/application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,4 @@ custom:
133133
jwt:
134134
secretKey: ${CUSTOM_JWT_SECRET_KEY}
135135
accessToken:
136-
expirationSeconds: ${CUSTOM_JWT_ACCESS_TOKEN_EXPIRATION_SECONDS}
136+
expirationSeconds: ${CUSTOM_JWT_ACCESS_TOKEN_EXPIRATION_SECONDS}

infra/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
terraform.tfstate
55
terraform.tfstate.backup
66
.terraform.tfstate.lock.info
7-
secrets.tf
7+
secrets.tf
8+
init/sql

infra/main.tf

Lines changed: 61 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,47 @@ resource "aws_security_group" "sg_1" {
134134
}
135135
}
136136

137+
#S3 버킷 생성
138+
resource "aws_s3_bucket" "s3_bucket_1" {
139+
bucket = "${var.prefix}-s3-bucket-1"
140+
141+
force_destroy = true # 버킷 안에 객체가 있어도 삭제 가능
142+
143+
tags = {
144+
Name = "${var.prefix}-s3-bucket-1"
145+
}
146+
}
147+
148+
#S3 암호화방식 설정(SSE-S3 방식)
149+
resource "aws_s3_bucket_server_side_encryption_configuration" "s3_encryption" {
150+
bucket = aws_s3_bucket.s3_bucket_1.id
151+
152+
rule {
153+
apply_server_side_encryption_by_default {
154+
sse_algorithm = "AES256"
155+
}
156+
}
157+
}
158+
159+
# SQL 파일을 S3에 업로드
160+
resource "aws_s3_object" "init_data_sql" {
161+
bucket = aws_s3_bucket.s3_bucket_1.bucket
162+
key = "init.sql"
163+
source = "${path.module}/init/sql/init.sql"
164+
}
165+
166+
resource "aws_s3_object" "law_data_sql" {
167+
bucket = aws_s3_bucket.s3_bucket_1.bucket
168+
key = "lawData-dev.sql"
169+
source = "${path.module}/init/sql/dev/lawData-dev.sql"
170+
}
171+
172+
resource "aws_s3_object" "precedent_data_sql" {
173+
bucket = aws_s3_bucket.s3_bucket_1.bucket
174+
key = "precedentData-dev.sql"
175+
source = "${path.module}/init/sql/dev/precedentData-dev.sql"
176+
}
177+
137178
# EC2 설정 시작
138179

139180
# EC2 역할 생성
@@ -237,15 +278,26 @@ docker run -d \
237278
-e TZ=Asia/Seoul \
238279
redis --requirepass ${var.password_1}
239280
281+
282+
# SQL 폴더 생성
283+
mkdir -p /home/ec2-user/app/init/sql/dev
284+
285+
# S3에서 SQL 파일 다운로드
286+
aws s3 cp s3://${var.prefix}-s3-bucket-1/init.sql /home/ec2-user/app/init/sql/init.sql
287+
aws s3 cp s3://${var.prefix}-s3-bucket-1/lawData-dev.sql /home/ec2-user/app/init/sql/dev/lawData-dev.sql
288+
aws s3 cp s3://${var.prefix}-s3-bucket-1/precedentData-dev.sql /home/ec2-user/app/init/sql/dev/precedentData-dev.sql
289+
240290
# mysql 설치
241291
docker run -d \
242292
--name mysql \
243293
--restart unless-stopped \
244294
-v /dockerProjects/mysql/volumes/var/lib/mysql:/var/lib/mysql \
245295
-v /dockerProjects/mysql/volumes/etc/mysql/conf.d:/etc/mysql/conf.d \
296+
-v /home/ec2-user/app/init/sql:/docker-entrypoint-initdb.d \
246297
--network common \
247298
-p 3306:3306 \
248299
-e MYSQL_ROOT_PASSWORD=${var.password_1} \
300+
-e MYSQL_DATABASE=${var.app_1_db_name} \
249301
-e TZ=Asia/Seoul \
250302
mysql:latest
251303
@@ -258,18 +310,18 @@ done
258310
echo "MySQL이 준비됨. 초기화 스크립트 실행 중..."
259311
260312
docker exec mysql mysql -uroot -p${var.password_1} -e "
261-
CREATE USER 'lldjlocal'@'127.0.0.1' IDENTIFIED WITH caching_sha2_password BY '1234';
262-
CREATE USER 'lldjlocal'@'172.18.%.%' IDENTIFIED WITH caching_sha2_password BY '1234';
263-
CREATE USER 'lldj'@'%' IDENTIFIED WITH caching_sha2_password BY '${var.password_1}';
264-
265-
GRANT ALL PRIVILEGES ON *.* TO 'lldjlocal'@'127.0.0.1';
266-
GRANT ALL PRIVILEGES ON *.* TO 'lldjlocal'@'172.18.%.%';
267-
GRANT ALL PRIVILEGES ON *.* TO 'lldj'@'%';
313+
CREATE USER 'lldjlocal'@'127.0.0.1' IDENTIFIED WITH caching_sha2_password BY '1234';
314+
CREATE USER 'lldjlocal'@'172.18.%.%' IDENTIFIED WITH caching_sha2_password BY '1234';
315+
CREATE USER 'lldj'@'%' IDENTIFIED WITH caching_sha2_password BY '${var.password_1}';
268316
269-
CREATE DATABASE \`${var.app_1_db_name}\`;
317+
GRANT ALL PRIVILEGES ON *.* TO 'lldjlocal'@'127.0.0.1';
318+
GRANT ALL PRIVILEGES ON *.* TO 'lldjlocal'@'172.18.%.%';
319+
GRANT ALL PRIVILEGES ON *.* TO 'lldj'@'%';
270320
271-
FLUSH PRIVILEGES;
321+
FLUSH PRIVILEGES;
272322
"
323+
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/dev/lawData-dev.sql
324+
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/dev/precedentData-dev.sql
273325
274326
# Qdrant 설치
275327
docker run -d \

infra/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ variable "prefix" {
1111
variable "app_1_domain" {
1212
description = "app_1 domain"
1313
default = "api.trybalaw.com"
14-
}
14+
}

0 commit comments

Comments
 (0)