inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

GitHub에 application설정 내용 push

146

박재성

작성한 질문수 8

0

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

java spring aws mysql spring-boot jpa

답변 3

1

박재성

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

1

최태현

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

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

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

 

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

 

감사합니다. 🙇

0

인프런 AI 인턴

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

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

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

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

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

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

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

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

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

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

리액트 관련 질문이 있습니다.

0

60

2

스프링부트 버전

0

66

2

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

0

55

2

33강. UserLoanHistory의 관계성에 대한 질문

1

51

2

Java JDK 버전 문의의 건

0

127

2

ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.

0

81

3

h2 console 접속했을 테이블 질문

1

62

1

ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨

0

71

2

15강. updateUser() 질문

0

51

2

깃허브 질

0

77

2

여기까지 다 끝냈다고 하셨는데

0

75

2

왜안될까요

0

67

2

MySQL 창이안ㄴ뜹니다

0

53

2

포스트맨

0

46

1

spring 개념적인 질문

0

68

2

인텔리제이 샘플코드 실행 안됨 오류

0

138

2

aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다

0

81

1

마이그레이션 오류입니다.

0

165

3

Whitelabel Error Page 오류가 났습니다.

0

156

2

안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ

1

87

3

궁금한게 있습니다.

0

54

2

DTO 관련

0

66

2

궁금한게 있습니다!

0

60

2

35강에서 returnBook 에서 userLoanHistory 값 중복에 관하여

0

54

2