Spring - tomcat yml파일 환경변수 설정

지니·2023년 8월 19일
1

spring

목록 보기
2/13

git에 커밋할때 설정파일에 api키나 db 연결정보를 노출하는 경우가 있는데 그런 위험성을 제거하자

1. 스프링부트3에서 내장 톰켓에 환경변수를 설정하는 방법

  • 스프링부트 프로젝트 설정을 할때 .properties 파일 또는 .yml 파일을 사용해서 설정을 하는데 이때 이 파일에 중요한 db정보나 api키 정보나 jwt 정보를 그대로 git에 커밋하면 모든 정보가 공개되기 때문에 보안작업이 필요하다.

  • 로컬환경에서는 톰켓 환경변수 세팅을 통해 데이터를 넣어주면되니 아래와 같이 properties.yml 파일을 작성한다.

spring:
  datasource:
    url: ${LOCAL_DB_URL}
    username: ${LOCAL_DB_USERNAME}
    password: ${LOCAL_DB_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver
    

위의 설정코드에서 중요한건 datasource 하위의 부분이다. 그 하단에 환경변수로 넣어줄 값들을 ${}를 통해 세팅해 준다.

  • url : ${LOCAL_DB_URL}
  • username : ${LOCAL_DB_USERNAME}
  • password : ${LOCAL_DB_PASSWORD}

2. 내장 톰켓 환경변수 세팅과정

  1. 먼저 인텔리제이를 사용중일때는 상단에 있는 실행중인 서비스를 클릭한다. (여기서는 ProfileApplication)이다.
    이후 톰켓의 우측 : 모양을 클릭해서 Edit을 누른다.
    tomcat설정
  1. 아마 다음과 같은 설정창이 나올것이다.
    환경변수 설정창
  1. 설정창 우측에 보면 파란글씨로(테마가 검은색 기준) Modify optoins라는 버튼이 있는데 클릭하자 그 안에는 Environment variables가 존재하고 이걸 클릭해 준다. [이게 바로 환경변수를 세팅하는 input박스다.]
  1. 이제 하단에 Environment variables가 나오고 input박스가 생겼을것이다. 이 input 박스 맨 우측에 보면 $ 버튼이 있고 이걸 클릭해서 들어간다. 그럼 아래 사진과 같은 창이 나올것이고 여기서 환경변수를 세팅할수가 있을것이다.
  1. 이제 yml에 적었던 url, username, password에 지정한 Name에 맞게 Value안에 설정값들을 넣어준다.

  2. 마지막으로 스프링부트를 실행시키면 된다. 저 안의 Value에는 꼭 본인의 db경로와 username, password를 잘 적도록 하자

profile
탐구하는 Backend 개발자

0개의 댓글

관련 채용 정보