2025. 2. 11. 21:56ㆍBackend/Spring
개요
프로젝트를 진행을 하다보면 유저들에게 보여야 하지 말아야할 정보들이 있다.
예를 들어보면 어디서 통신을 받아오는지, 그리고 Github에 올릴 때 우리의 API 정보 등 이 보이면 안된다.
이런 것을 안보이는 방법이 각 환경 변수를 선언을 해서 중요한 정보가 공개가 안되도록 하는 방법이다.
해당 방법을 같이 알아보자.
어떻게 하는가?
코딩을 하다보면 전역 변수를 처리하는 방법처럼
전체적으로 프로젝트 전체로 변수를 처리하는 방법이 있다.
대표적으로 자바를 설치할 때 JAVA_HOME을 설정하는 방법이라고 생각하면된다.
처음에만 설정을 하면 우리는 JAVA의 정확한 위치를 모르더라도, JAVA_HOME 환경 변수를 사용을 하면
자바를 쉽게 사용을 할 수 있게 된다.
이러한 방법이 .env 로 환경 변수들을 모와두는 방법이다.
.env 만드는 법
환경 변수를 만드는 방법은 매우 쉽다.
Spring boot 의 gredle-groovy 방식을 기준으로 잡겠다.
Spring boot 에서 resources 밑에 두면 작동을 하지만
어떻게 보면 보안을 설정하기 위해서 사용을 하는 것이기에
security 폴더 밑에 .env파일을 만들었다.
앞에 prefix를 더 붙여도 된다. -> .db.env
원하는이름=비밀내용
이런식으로 띄어쓰기 없이 만들어주면 된다.
.env 와 IntellJ 를 연결 시키는 법
.env 만들었으니 연결을 해주어야한다.
디버그 버튼 옆에 새로로 ... 버튼을 눌러보면
Configuration 밑에 Edit 이라고 버튼이 나온다.
Edit을 누르고
Modify options 를 눌러준다.
Environment variables 를 누러주고
.env파일 을 찾아서 apply를 눌러주면 적용이 된다.
.env 를 Github에 올리지 않는 방법
.env를 만들었다고 끝인 것은 아니다.
이제 안올라가게 적용을 하면 끝이다.
파일들 중에 .gitignore 이라는 파일이 존재한다.
해당 파일에 파일이름 및 경로를 넣어두면 해당 정보들은 올라가지 않게 된다.
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### .env ###
*.env
*.env 로 적어두면 .env로 끝나는 모든 파일이 올라가지 않게 되면서
이제 github에 push를 하더라도, .env 파일은 제외하고 올라가게 된다.
끝내며
github를 둘러보다보면 아무것도 모르고 API 키 라던가, 관리자 정보, 유저 정보를 올려둔 것을 확인을 할 수 있다.
작은 범위지만 이제 약간의 보안을 .env 로 신경을 쓸 수 있게 되었다.
다같이 꾸준히 성장을 해가길 바란다.
'Backend > Spring' 카테고리의 다른 글
[Spring] 프로젝트 하면서 느낀 아쉬운점 & 배운점 등 (0) | 2025.02.20 |
---|---|
[JPA] 연관관계가 있는 객체를 한번에 없애보자. (0) | 2025.02.13 |
[Spring] SimpleJdbcInsert로 컬럼 지정하기 (1) | 2025.02.04 |
[Spring Boot] 프로젝트를 만들어보자. (1) | 2025.01.24 |
[Spring] Swagger 사용방법에 대해 간단하게.araboza (2) | 2025.01.09 |