내가 배포한 API의 소스 코드를 Github에 올릴 때 주의할 점이 있다.
그것은 바로 코드에 민감한 정보가 있다면, 누군가 그 정보를 쉽게 탈취할 수 있다는 점이다.
예를 들어, 내가 사용하는 Database의 URL과 username, 그리고 password를 모두 노출한채 Github에 업로드한다면, 누군가 내가 운영중인 서비스의 DB에 마음대로 접속할 수 있게 된다. 이외에 JWT 시크릿 키나 오픈 API 키같은 중요한 정보도 마찬가지다.
따라서 우리는 이러한 민감한 정보들을 숨긴채로 업로드해야 한다.
아래 사진은 임의로 만들어놓은 application.yml
파일이며, DB와 jwt 관련 정보가 그대로 담겨 있다.
Intellij에서 제공하는 환경변수 설정을 사용하면 이러한 정보들을 완벽하게 숨길 수 있으며, 별도의 설정 없이 편리하게 실행할 수 있다.
Intellj의 우측 상단에 있는 실행 버튼 왼쪽을 클릭하면 다음과 같이 여러 항목이 뜰 것이다. 이중에서 Edit Configurations
를 클릭한다.
그리고나서 아래 사진에 보이는 Modify options를 클릭하고 뜨는 여러 항목중에서 Environment variables를 클릭한다.
그러면 다음과 같이 입력칸이 하나 생기게 된다.
입력칸 우측 버튼을 클릭하면 환경 변수를 관리하는 화면이 뜨게 된다.
여기서 + 버튼을 클릭하면 환경변수를 key-value 형태로 입력할 수 있게 되며, 이후 OK 버튼을 클릭하면 환경변수가 정상적으로 등록된다.
환경변수를 등록했으면, application.yml
파일로 돌아가서 값 대신에 환경변수 이름을 작성해준다.
이때 ${}
안에 아까 등록한 환경변수 이름을 넣어주면 된다.