Today I Learn/Git

[Git/GitHub] gitignore로 비밀 정보 보호하기

단추언니 2021. 10. 19. 00:54
반응형

몽고DB를 연동하던 중 비밀번호가 담겨있는 키를 코드에 옮겨적어야 했다. 깃허브에 올려야하는데 내 비밀번호가 보이면 안되니깐!

 

2021.10.18 - [Today I Learn/Git] - [Git/GitHub] .gitignore 사용방법, 불필요한 파일 깃에 올리지 않는법

 

[Git/GitHub] .gitignore 사용방법, 불필요한 파일 깃에 올리지 않는법

gitignore? git 저장소에 파일을 올릴 때, 모든 파일을 올릴 수는 없다. 보안상 위험성이 있는 파일, 프로젝트와 관계 없는 파일, 용량이 너무 커서 제외해야하는 파일 등이 있기 때문에 git add 에서

wonblog.tistory.com

여기에 올리기도 했지만 조금 더 자세하게 써보려고 한다. 나중에 까먹을까봐

 

// index.js

const mongoose = require('mongoose')
mongoose.connect('비밀번호키가 포함된 URI')
.then(() => console.log('MongoDB Connected...'))
.catch((e) => console.log('MongoDB error:', e))

저걸 바꿔보려고 한다

// key.js
// 개발환경이 로컬인 경우와 배포모드일 경우 다르게 설정

if(process.env.NODE_ENV === 'production') {
    module.exports = require('./prod');
} else {
    module.exports = require('./dev')
}
//dev.js => 개발환경이 로컬인 경우
module.exports = {
    mongoURI: '비밀번호가 포함된 URI'
}

//prod.js => 개발환경이 배포모드인 경우
module.exports = {
    mongoURI: process.env.MONGO_URI 
}
// index.js

const mongoose = require('mongoose')
mongoose.connect(config.mongoURL)
.then(() => console.log('MongoDB Connected...'))
.catch((e) => console.log('MongoDB error:', e))

직접 URL을 입력하지 않고 config.mongoURL 라고 입력해 준 뒤, 직접 코드가 적혀있는 dev.js만 숨겨주면 된다.

.gitignore 디렉토리에 dev.js 적어주면 끝

반응형