깃허브에 프로젝트를 올리려고 할 때, 문득 DB 관련 정보를 어떻게 올리지 않을 수 있을까 고민했다. 비밀번호까지 올릴 수는 없으니... 결과적으로 yml 파일을 하나 더 만들어서 기존 application.yml과 연결시켜주면 된다. 이후, DB관련 정보가 있는 파일을 .gitignore에 등록해준다.
먼저 기존 코드는 다음과 같다.
application.yml
spring:
datasource:
url: jdbc:mariadb://localhost:3306/test
username: root
password: 비밀번호
driver-class-name: org.mariadb.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
logging.level:
org.hibernate.SQL: debug
1. yml 파일 생성
DB 관련 정보를 가지는 yml 파일을 따로 생성해준다.
이름은 application-{이름}.yml 로 지정한다. 필자는 application-secret.yml 파일을 생성했다.
application-secret.yml 에 DB와 관련된 정보를 넣어준다.
application-secret.yml
spring:
datasource:
url: jdbc:mariadb://localhost:3306/test
username: root
password: 비밀번호
driver-class-name: org.mariadb.jdbc.Driver
2. application.yml에서 include
Spring.profiles.include를 통해 다른 yml 파일의 값을 가져올 수 있다.
application.yml
spring:
profiles:
include: secret //application-{이름}.yml에서 {이름}을 넣어준다.
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
logging.level:
org.hibernate.SQL: debug
3. gitignore에 추가
다음과 같이 생성한 application-{이름}.yml 파일을 .gitignore에 등록한다. .gitignore 파일 일부만 가져왔다.
.gitignore
!**/src/test/**/bin/
### IntelliJ IDEA ###
application-secret.yml
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
728x90