파이썬에서 커밋 시 API 키 숨기기, gitignore 파일로 무시하기

    client = MongoClient("...")
    db = client.dbsparta

    처음 깃에 커밋을 하고 푸시를 해서 깃허브에 올렸을 때 아무 생각없이 위 몽고디비 주소를 그대로 올렸다. 그러다가 며칠 뒤에 내가 깃허브에 올린 db에 아래와 같은 데이터들이 몇 백 개씩 쌓였다.

     

    저 사이트에 들어가보니 여러 사람들이 동시 채팅을 하는 사이트였고 대화를 살펴보니 깃허브에 함부로 주요 정보를 올리지 말라는 메시지가 보였다. 그걸 보고서야 깃허브에 올릴 때는 주요 정보는 빼고 올려야 한다는 것을 알게 되었다.

     

    그래서 이후엔 매번 번거롭게 데이터를 지우고 푸시를 했으나 실수로 안 지울 때도 많고 다시 커밋하다가 커밋 오류가 나는 등 문제가 많았다. 

     

    알고보니 아주 간단하게 해결할 수 있는 방법이 있었다. 

    1. 먼저 config.py 파이썬 파일을 같은 디렉토리에 만들고 숨기고 싶은 코드를 적는다.

    key = "..."

     

    2. 이 코드가 필요한 다른 파이썬 파일에 import config를 하고 이 코드가 필요한 부분에 config.변수명 을 넣는다.

    import config
    client = MongoClient(config.key)
    db = client.dbsparta

     

    3. 같은 디렉토리에 텍스트 파일을 만들고 config.py를 적는다. 저장 후 텍스트 파일의 확장자를 지우고 .gitignore로 바꾼다.

     

    이제 이 파일 안에 깃에 숨기고 싶은 파일 이름을 넣으면 된다. 폴더는 "폴더명/" 으로 적으면 된다. 소스트리를 보면 ignore 폴더 안의 모든 파일들이 '스테이지에 올라가지 않는 파일'에 추가되지 않은 것을 확인할 수 있다.

     

    이렇게 하면 내 컴퓨터에서도 작동이 잘 되고 config.py 파일은 ignore에 들어가 있으니 커밋할 때 신경 쓸 필요가 없다. 

     

    728x90

    'Git' 카테고리의 다른 글

    Github Actions로 AWS EC2에 자동 배포하기  (0) 2022.11.02

    댓글