많은 사람들이 소스 코드 버전 관리나 협업을 위해 Git을 사용하고 있다. 하지만 Git으로 관리되는 프로젝트는 종종 커밋하면 안 되는 파일들이 포함될 수 있다. (보안상 위험하거나, 개인 정보를 포함하거나, 컴파일러에 의해 생성된 중간 파일 등)
보안상 위험한 파일이 Git에 Push되면 해커한테 탈탈 털릴 수 있다.
중요 정보가 담긴 파일(ex) DB접속 정보)이 Git에 Push 되지않도록 지정하려면 .gitignore을 사용해야 한다.
.gitignore 파일은 Git이 무시해야 하는 파일 및 디렉토리 목록을 포함하는 파일이다. gitignore 파일을 사용하면, 불필요한 파일들이 저장소에 올라가는 것을 방지하고, 프로젝트에 대한 보안 및 개인 정보 보호를 강화할 수 있다. 또한, 불필요한 파일들을 추적하지 않기 때문에 Git 저장소의 크기를 줄일 수 있어, 코드 리뷰 및 협업 작업도 더욱 수월해진다.
내 경우 DB접속 정보가 Git에 올라가지 않도록 설정했다.
application.properties에 있는 DB접속 정보(숨길 정보)를 따로 관리하기위해 properties 파일을 새로 하나 생성한다.
application-임의로지정할 이름 (위 그림에서는 jelly)을 입력한다.
.properties라고 뒤에 따로 적지않았는데도 자동으로 입력되어 파일이 생성된 것을 볼 수 있다.
#datasource
spring.datasource.driver-class-name=
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
DB 정보를 모두 application-jelly.properties에 입력했다.
application-jelly.properties에 DB 정보를 입력했으니 이제 기존 application.properties에 있던 DB 정보를 지워주자.
다 지웠다면 application.properties가 새로 만든 application-jelly.properties를 호출하여 사용할 수 있도록 명시해준다.
# application.properties에 추가
spring.profiles.include=jelly
이제 .gitignore 파일 설정을 통해 커밋 시 민감정보가 담긴 application-jelly.properties가 올라가지 않도록 명시한다.
# .gitignore에 추가
application-jelly.properties
모두 완료한 후, 스프링 서버가 정상적으로 실행된다면 성공!!