인프런 커뮤니티 질문&답변

박재성님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

45강. 빌드와 실행, 그리고 접속

GitHub에 application설정 내용 push

작성

·

25

0

강의를 다시 보며 개인적으로 복습하던 중 만약 MySQL까지 배포를 완료한 후에 깃허브에 코드를 올리게 되면 Repo가 Public이라서 application에 설정해둔 저의 DB정보와 password도 함께 보여지게 될 텐데 이를 방지하는 방법이 있을까요? Private일 때 배포하는 방법은 강의 내용에 없어서 아쉽지만ㅠ Public일 때 깃허브에 application 설정을 gitignore을 통해서 push하지 않아도 배포하는 데에 있어서 지장이 없는지 궁금합니다!

답변 3

1

박재성님의 프로필 이미지
박재성
질문자

친절하고 빠른 답변 감사합니다! 덕분에 많이 배워가요 :)

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 재성님! 질문 주셔서 감사합니다.

결론부터 말쓰드리면, "gitignore을 통해서 push하지 않도록 하지 않는" 이상 다른 방법은 없습니다! 🥲

그래서 비밀번호를 설정할 때 1234 같은 단순한 비밀번호로 설정하라고 말씀 드렸던 거에요!!

 

실무에서는 보통application.yml 같은 곳에도 비밀번호를 두지 않고 AWS SecretsManager 같은 외부 솔루션을 통해 아예 비밀번호 자체를 모르게끔 처리하는 편입니다.

 

감사합니다. 🙇

0

안녕하세요, 인프런 AI 인턴입니다. 박재성님 질문에 대한 답변을 드리겠습니다.

깃허브에 코드를 공개적으로 올릴 때 중요한 정보, 특히 데이터베이스 설정이나 비밀번호 같은 민감한 정보가 노출되지 않도록 하는 것은 매우 중요합니다. 이를 방지하기 위한 방법으로 환경 변수를 사용하는 것이 일반적입니다.

방법 1: 환경 변수 사용하기

  • 환경 변수를 사용하여 애플리케이션 설정(예: DB 비밀번호 등)을 외부에서 주입받도록 하면, 깃허브에 업로드할 때 이러한 정보가 코드에 하드코딩되지 않아 노출 위험을 줄일 수 있습니다.

방법 2: application.yml.gitignore에 추가하기

  • 환경 설정 파일(application.yml 또는 application.properties)을 깃에 커밋하지 않도록 .gitignore 파일에 추가할 수 있습니다. 이렇게 하면 깃허브에 올려도 설정 정보가 노출되지 않습니다.
  • 하지만, 이 경우에는 서버에서 직접 환경설정을 관리해야 하므로, 배포할 때 이를 수동으로 설정하거나, 별도의 환경 설정 파일로 관리하도록 해야 합니다.

관련하여 이미 비슷한 고민을 다룬 글도 있으니 참고하시면 도움이 될 것 같습니다:

  1. 구체적인 환경 설정 관리 방법 예시.

위의 방법들을 적용하면 데이터베이스 정보와 같은 민감한 정보를 안전하게 보호하면서도 깃허브에 프로젝트를 업로드할 수 있습니다. 배포에는 영향을 주지 않으니 안심하고 사용하셔도 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.