[Web] 협업(2) - 비밀번호 관리편

업데이트:



프로젝트 협업을 Github 으로 하고 있다면,

공개 저장소에서 password 관리를 어떻게 할지🧐 에 대한 문제를 맞닥뜨리게 됩니다.


아래와 같은 반복되는 불편함이 있습니다.

password가 들어있는 파일이 application.yml 라고한다면,


  1. git push 하기 전에 application.yml 값을 확인해야합니다.
  2. git clone 을 받더라도 실제 값을 application.yml 에 넣어줘야 합니다.

(.gitignore 로 아예 application.yml 를 버전관리 하지 않을 수도 있지만, 방법이 없을까…🧐)


또 자칫 공개 저장소에 password가 올라갈 수도 있습니다.😰

이를 해결하는 여러 방법이 있겠지만, 추천하는 방법을 소개하고자 합니다.




깃헙 서브모듈


이번 편은 Github Submodule 을 이용해 공개적으로 노출되면 안되는 값들을

프라이빗하게 팀원들끼리만 공유하는 방법입니다.


원리는 다음과 같습니다.

  • 노출되면 안되는 정보는 🔒private 저장소로 관리합니다.
  • 팀원들에게만 🔒private 저장소 권한을 줍니다.
  • Public 저장소에 🔒private 저장소를 넣습니다.


이렇게 되면 프로젝트를 공개 저장소로 관리를 하지만

팀원들끼리만 비밀번호를 공유할 수 있게 됩니다. ⭐️⭐️⭐️




사용 단계


1. private 저장소

🔒private 저장소를 만듭니다.


image


그리고 해당 저장소에 팀원을 추가합니다.

image



2. 공개 저장소에 서브모듈 추가하기

공개 저장소에서 원하는 경로로 이동합니다.

그런 다음에 비밀번호가 들어있는 private 저장소를 다음 명령어를 통해 공개 저장소에 추가합니다.

git submodule add [repo주소]

그리고 push를 해보세요~~!!


여기까지 했다면 remote에는 다음과 같은 하이퍼링크가 달린 폴더를 볼 수 있게 됩니다.

image



3. 서브모듈 함께 클론하기

기본 clone 명령어 뒤에 '--recurse-submodules' 옵션을 추가하여 clone 합니다.

그렇게 해야 내부의 submodule까지 함께 받을 수 있어요.

git clone --recurse-submodules [repo주소]



4. 서브모듈 업데이트하기

끝으로 서브모듈 저장소가 업데이트 된 내용이 있다면

공개 저장소에서의 submodule 업데이트는 다음 명령어를 이용하면 됩니다.

git submodule update --remote




추가 방법


이번 편에서 소개되지 않은 방법 중

git secretgit action에 대한 방법은

=> SecretKey-Store

를 참고해주세요~




카테고리:

업데이트: