Skip to content

Submodule로 프로젝트 설정정보 보호 기록

Heyz edited this page Mar 12, 2023 · 1 revision

🔒 Github Submodule로 계정정보 관리

🍃 Spring Project 기준.
private 으로 설정한 repository를 submodule로 두어 프로젝트 설정 정보를 보호한다.
gradle build시에 서브모듈의 yaml을 복사하는 task를 추가하여 빌드때에 서브모듈의 yaml설정파일을 참조하도록 설정함. CICD 파이프라인에도 연결하여 배포에도 적용되도록 설정.

step1. private repository에 application.yml push

  • profile별로 분리했다면 모든 YAML 파일 프라이빗 레포지토리에 업로드

step2. Spring Project에서 해당 Repo를 서브모듈화 한다.

  • terminal에 git submodule add ${git_repo_link} ${dir_name} 명령어 입력
  • git_modules_cmd
  • .gitmodules 파일과 지정한 dir명으로 생성된 submodule 확인
  • submodules_dir
  • github push 하여 변경사항 저장.
  • 3_3

step3. submodule로 설정한 Pirvate repo의 변경사항 가져오기

  • git submodule update --remote --merge
  • submodule_remote_merge

step4. Gradle task 추가

  • 스크린샷 2023-03-12 11 13 13

step5. CI/CD 파이프라인에 추가

  • 소스 체크아웃시 깃헙 토큰 시크릿 추가 및 submodules 속성 true로 설정
  • 스크린샷 2023-03-12 11 16 23
  • gradle build 스텝에서 build 전에 copy task 추가
  • 스크린샷 2023-03-12 11 16 38