[Git] 내용을 가리고 git에 올리기

민찬기·2022년 12월 1일
0

필요한 상황

이력서를 작성하면서 꽤나 곤란한 상황이 있었다. 이력서에 내 프로젝트 git 링크를 걸고 싶은데, 무턱대고 프로젝트 repo를 public으로 변경하자니, 민감한 정보가 공개되는 것이 마음에 걸렸다.

물론 .yml과 .properties를 제외하고 git에 올리는 방법이 있을 수 있다. 그러나 배포 시에 해당 파일들을 따로 관리해주어야 한다. 변경이 생기는 경우에는 수동으로 해당 파일들을 교체해야 하므로 번거로울 뿐만 아니라 인적오류가 발생할 가능성이 높아진다.

종합적으로, (1) git에서 프로젝트의 모든 파일을 관리하며, (2) 보안 사항이 들어가 있는 .yml이나 .properties를 아무나 확인할 수 없는 환경을 원했다.

이를 git의 submodule을 통해 해결할 수 있었다.

Submodule

Submodule의 사용법은 이미 각종 블로그 (1번, 2번)에 있으니 참조하면 된다.

Submodule 설정을 완료하면 .yml 파일이나 .properties 파일을 별도의 private repo에서 관리할 수 있다. 별도의 repo임에도 불구하고 소속된 하나의 package로서 기능할 수 있다.

추가적으로 local에서 submodule을 추가하면 root path에 추가가 되는데, 해당 파일들을 build 시에 /resources로 이동시킬 수 있다. 해당 내용은 여기를 참조하면 좋을 듯 하다.

참조

Spring Boot에서 git submodule로 민감 정보(yml) 관리
git submodule로 중요한 정보 관리하기

profile
https://github.com/devmizz

0개의 댓글