스프링으로 게시판을 구현하다가 나도 모르게 application.yml파일에 나의 민감정보를 깃에 푸시해버리고 말았다... 이미 깃에 yml파일이 올라가서 깃이그노어에 뒤늦은 추가를 하였지만 깃 캐시를 삭제하지 않아 이그노어가 동작하지 않았다.
git rm -r --cached .
git add .
git commit -m "커밋메시지"
를 해주고 나서야 깃이그노어가 동작하여 yml파일이 깃에 올라가지 않게되었다. 하지만 이미 올린 기록은 남았다....
하지만 깃 이그노어가 동작하여 application.yml파일이 제대로 올라가지 않는 상태로 혼자 작업을 한다면 별 불편함이 없겠지만, 만약 협업을 하게된다면? yml파일의 민감정보때문에 파일자체를 공유하는데 어려움이 생길수 있다는 생각을 하게되었다.
IntelliJ에는 환경변수를 설정해주는것을 제공하고 있었다...



이렇게 환경변수를 설정한후에
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# DB Source
url: url
# DB username
username: username
# DB password
password: password
이런식으로 써놓았던 민감정보를
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# DB Source
url: ${RDS_URL}
# DB username
username: ${RDS_USERNAME}
# DB password
password: ${RDS_PASSWORD}
환경변수로 설정한거를 ${}로 가져오면 끝이다.
배포하는거는 EC2서버에 직접 환경변수를 export RDS_USERNAME=내정보 를 설정해주는 방법으로 진행해보았다.
'TIL' 카테고리의 다른 글
@Valid @NotEmpty (0) | 2022.02.18 |
---|---|
Error handler(예외처리의 경우) (0) | 2022.02.18 |