GitHub에서 비밀을 유지하는 방법

GitHub는 개발자의 삶을 훨씬 더 쉽게 만듭니다. GitHub를 사용하여 쉽게 협업하고 변경 사항을 추적하고 파일을 안전하게 백업할 수 있습니다. 주의하지 않으면 모든 작업을 위험에 빠뜨릴 수 있는 코드 조각을 노출할 수도 있습니다.

예를 들어 MongoDB를 데이터베이스로 사용하는 경우 코드에 MongoDB 액세스 문자열을 저장해야 합니다. 해당 액세스 문자열이 표시된 상태에서 코드를 GitHub에 푸시하면 프로젝트를 보는 모든 사람이 데이터베이스에 액세스할 수 있고 원숭이도 함께 사용할 수 있습니다.

“더 나은 방법”



비밀을 안전하게 유지하는 첫 번째 단계는 환경 변수를 사용하는 것입니다. Node는 "프로세스"전역 개체의 속성인 "env"개체를 통해 즉시 이러한 기능을 지원합니다. 환경 변수는 일반적으로 모두 대문자로 작성됩니다. 예를 들면 다음과 같습니다.

DB_STRING = mongodb+srv://username:[email protected]/?retryWrites=true&w=majority


이를 통해 실제로 표시하지 않고 코드 전체에 비밀 정보를 포함할 수 있습니다.

"하지만 변수는 어딘가에 선언해야 하죠?"



맞습니다, 독자 여러분. 환경 변수는 어딘가에 선언해야 합니다. ".env"라는 특수 폴더에서 이 작업을 수행합니다. 이 폴더는 결국 그 안에 있는 모든 환경 변수를 "process.env"개체에 자동으로 로드합니다. "dotenv"라는 npm 패키지가 해당 프로세스를 구동하므로 설치해야 합니다.

이것이 작동하려면 Node.js와 npm이 이미 설치되어 있어야 합니다. 이러한 사용자를 위한 다운로드 및 지침을 찾을 수 있습니다here.

Node와 npm이 설치되면 다음 터미널 명령을 사용하여 "dotenv"를 설치하십시오.

npm i dotenv


그런 다음 앱에서 다음과 같이 "dotenv"를 요구하고 구성합니다.

require(‘dotenv’).


이것이 설치되면 파일 구조로 이동하여 최상위 수준 또는 구성 폴더에 “.env”라는 파일을 생성합니다(이 경우 코드에서 해당 위치에 대한 적절한 경로를 설정해야 합니다: "require ('dotenv').config()"). 이 파일을 열고 환경 변수에 넣습니다.

여기에는 이전의 DB_STRING과 서버가 로컬에서 실행 중인 PORT가 있습니다.

DB_STRING = mongodb+srv://username:[email protected]/?retryWrites=true&w=majority

PORT = 2121


따옴표가 없다는 것을 알 수 있습니다. "dotenv"가 자동으로 처리합니다.

“마지막 한 걸음”



마지막 단계는 ".gitignore"폴더를 설정하는 것입니다. 이름에서 알 수 있듯이 GitHub는 이 폴더에서 참조되는 모든 것을 무시하고 리포지토리에 업로드하지 않습니다.

파일 구조로 돌아가 최상위 수준에서 ".gitignore"라는 파일을 만듭니다. 그런 다음 다음과 같이 ".env"폴더를 추가합니다.

.env


"node_modules"및 로컬로 다시 설치할 수 있는 다른 대형 패키지를 추가할 수도 있습니다. 이렇게 하면 코드를 GitHub와 저장소에 푸시하는 데 걸리는 시간이 절약됩니다.

"그렇습니다, 여러분!"



이 주제를 살펴보는 데 몇 분을 할애해 주셔서 감사합니다. 도움이 되었기를 바라며 이제 비밀을 지키는 방법을 확실히 느끼셨기를 바랍니다. 댓글에 궁금한 점이 있으면 언제든지 질문해 주세요. 최선을 다해 답변해 드리겠습니다!

좋은 웹페이지 즐겨찾기