<aside> 📢 자기가 진행한 혹은 진행하고 있는 프로젝트의 깃허브 레포지토리를 public으로 바꾸고 싶은 분들 계신가요? 프로젝트를 진행하면서 보안이 필요한 파일들은 secret 폴더를 만들어서 모아두셨을 거예요. 그리고 퍼블릭으로 돌렸을 때 이 폴더를 어떻게 처리해야 할지 고민하는 분들이 계셨을 거라고 생각합니다. 저도(보리) 한때 그 고민을 했었기 때문에 여러분에게 방법을 알려드리고자 합니다. 자세한 방법은 아래를 확인해 주세요!
🤍 Thanks to Bori (Gachon Univ.)
</aside>
.gitignore 파일이란?
gitignore 처리하는 방법
.gitignore 파일 만들기
새로운 파일 혹은 메모장을 열고 파일명을 .gitignore로 지정해줍니다. 이때 파일명을 .gitignore가 아닌 다른 이름으로 지으면 깃이그노어 처리가 제대로 되지 않을 수도 있습니다.
제외하고 싶은 파일을 .gitignore 파일 안에 적기
.gitignore 파일 예시
특정 파일 제외하기
폴더 이름/파일 이름
ex) secret/key
특정 폴더 전체 제외하기
폴더 이름/
ex) secret/
특정 확장자 전체 제외하기
*.확장자
ex) secret/
예외 처리하기
!폴더 이름
ex) !secret/, !*.kt ··
.gitignore 파일 레포지토리에 푸시하기
.gitignore 파일을 레포지토리에 올리지 않으면 깃이그노어 처리가 되지 않습니다. 꼭 commit 후 push까지 해주세요!
이미 레포지토리에 올라간 파일 깃이그노어 처리하는 방법
이미 파일이 레포지토리에 올라간 경우에는 .gitignore가 적용되지 않습니다. 따라서 .gitignore를 적용하기 위해서는 먼저 git에서 해당 파일을 제거해야 합니다.
이미 Secret 폴더를 레포지토리에 올린 경우에는 아래 두 가지 방법 중 편한 방법을 사용하시면 됩니다.
레포지토리에 올라간 파일 제거하기
git rm 파일명
git commit -m "커밋 메세지"
git push
git 캐시 제거하기
git rm -r --cached .
git add .
git commit -m "커밋 메세지"
git push
위 방법을 통해 보안이 필요한 파일들을 깃이그노어 처리 하셨으면 이제 서버에 직접 파일들을 올리셔야 합니다.
서버에 필요한 파일이 없으면 제대로 동작하지 않기 때문에 주의해서 올려주세요! 참고로 해당 파일들은 .gitignore 처리를 통해 git의 추적을 막아둔 상태이기 때문에 파일이 꼬일 걱정은 하지 않으셔도 됩니다.
그럼 이제 서버에 시크릿 파일을 올리는 법을 알려드리겠습니다! 제가(보리) 윈도우를 사용하는 관계로 WinSCP를 사용해서 파일을 업로드하는 점 양해 부탁드립니다.
WinSCP로 SFTP 설정하기
파일 프로토콜을 SFTP로 설정하고 호스트 이름에 서버의 퍼블릭 IPv4 주소를 입력해줍니다. 인바운드 규칙에 미리 SFTP 전용 포트 번호를 추가하는 것도 잊지 말아 주세요. 이때 사용자 이름과 비밀번호는 따로 설정하지 않은 경우 기본적으로 아래 사진과 똑같이 진행해주시면 됩니다.