Skip to content

Commit 105f035

Browse files
committed
[스프링부트로 웹 서비스 출시하기 - 8. 프로젝트 운영 환경 설정] yml 기본적인 내용 및 코드 추가
1 parent 0567342 commit 105f035

File tree

3 files changed

+85
-2
lines changed

3 files changed

+85
-2
lines changed

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dependencies {
3131
compile('org.springframework.boot:spring-boot-starter-data-jpa')
3232
compile('org.springframework.boot:spring-boot-starter-web')
3333
compile 'pl.allegro.tech.boot:handlebars-spring-boot-starter:0.2.15'
34+
compile("org.mariadb.jdbc:mariadb-java-client")
3435
runtime('com.h2database:h2')
3536
compileOnly('org.projectlombok:lombok')
3637
testCompile('org.springframework.boot:spring-boot-starter-test')

src/main/resources/application.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,18 @@ spring:
1616
console:
1717
enabled: true
1818

19+
# 운영 환경
20+
---
21+
spring.profiles: set1
22+
spring.profiles.include: realdb
23+
24+
server:
25+
port: 8081
26+
27+
---
28+
spring.profiles: set2
29+
spring.profiles.include: realdb
30+
31+
server:
32+
port: 8082
33+

tutorial/8_운영환경설정.md

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,74 @@
1111

1212
## 8-1. 운영 DB 접근
1313

14-
저번시간에 저희는 운영 yml (```real-application.yml```)만 별도로 분리해 EC2 서버에 추가했습니다.
14+
저번 시간에 저희는 운영 YAML (```real-application.yml```)만 별도로 분리해 EC2 서버에 추가했습니다.
1515
간단하게 생각하면 운영 DB 접속 정보는 ```real-application.yml```에 추가하면 됩니다.
1616
하지만 이렇게 될 경우 **set1, set2 설정에 같은 내용을 반복 추가**해야되고, **변경이 있을 경우 2개 profile 코드를 모두 고쳐**야 합니다.
17-
추가로 운영 레디스 접근 혹은 외부 운영 API 등을 접근할때도 항상 set1과 set2에 복사 붙여넣기를 반복해야합니다.
17+
추가로 운영 레디스 접근 혹은 외부 운영 API 등의 접속정보도 **항상 set1과 set2에 복사 & 붙여넣기**를 반복해야합니다.
18+
그래서! 이부분을 좀 더 개선해보겠습니다.
19+
20+
### 8-1-1. 운영 DB 드라이버 의존성 추가
21+
22+
제일 먼저 할일은 운영 DB의 드라이버를 추가하는 것입니다.
23+
build.gradle에 아래와 같이 Maria DB 드라이버를 추가합니다.
24+
25+
```groovy
26+
compile("org.mariadb.jdbc:mariadb-java-client")
27+
```
28+
29+
### 8-1-2. YAML(.yml) 수정
30+
31+
이번 시간에 사용할 기능은 스프링부트의 [Adding active profiles](https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html#boot-features-adding-active-profiles) 입니다.
32+
yml에서 특정 Profile을 **포함**시켜 설정을 공유하는 개념정도로 보시면 됩니다.
33+
34+
자 우선 프로젝트 내부의 application.yml을 조금 수정해보겠습니다.
35+
기존에 real-application.yml에 있던 set1, set2 내용을 그대로 복사해서 붙여넣습니다.
36+
37+
```yml
38+
spring:
39+
profiles:
40+
active: local # 기본 환경 선택
41+
42+
# local 환경
43+
---
44+
spring:
45+
profiles: local
46+
datasource:
47+
data: classpath:data-h2.sql # 시작할때 실행시킬 script
48+
jpa:
49+
show-sql: true
50+
hibernate:
51+
ddl-auto: create-drop
52+
h2:
53+
console:
54+
enabled: true
55+
56+
# 운영 환경
57+
---
58+
spring:
59+
profiles: set1
60+
server:
61+
port: 8081
62+
63+
---
64+
spring:
65+
profiles: set2
66+
67+
server:
68+
port: 8082
69+
```
70+
71+
real-application.yml
72+
73+
```yml
74+
---
75+
spring:
76+
profiles: realdb
77+
datasource:
78+
url: jdbc:mariadb://rds주소:포트명(기본은 3306)/database명
79+
username: db계정명
80+
password: db계정 비밀번호
81+
driver-class-name: org.mariadb.jdbc.Driver
82+
```
83+
84+
### 8-1-3. 운영 DB에 테이블 생성

0 commit comments

Comments
 (0)