.gitignore 에 등록함으로써 개인정보를 숨길 수 있다.
application-파일이름
으로 application.properties 파일을 생성한다.
( .properties 은 자동적으로 붙는다 )
기존에 있던 application.properties 외에도 application-aws.properties 라는 파일이 생성된 것을 확인할 수 있다.
기존의 application.properties 에 있던 아래와 같은 개인정보를 application-aws.properties 로 옮겨준다.
spring.datasource.url=jdbc:mysql://localhost:3306/데이터베이스 명
spring.datasource.username=사용자
spring.datasource.password=비밀번호
application.propertie
spring.profiles.include=파일명
// 예시
spring.profiles.include=aws
application-
뒤에 붙은 것이 파일명이다.
gitignore 에 해당 파일의 이름을 입력해준다.
application-파일명.properties
('야믈' 이라고 읽는다)
application.yml 에는 공개돼도 무방한 정보를 담는다
application-KEY.yml 에는 개인정보를 담는다
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
show_sql: true
format_sql: true
use_sql_comments: true
profiles:
include: KEY
data:
redis:
host: localhost # 배포시 redis로 변경
port: 6379
spring:
datasource:
url: jdbc:mysql://localhost:3306/DB이름
username: 사용자명
password: 사용자 비밀번호
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQLDialect
jwt.secret.key: jwt키
위와 같은 방법으로 했으나, 깃허브에 반영이 되지 않은 경우가 있다.
이는 다음과 같은 상황이다.
.gitignore 에 파일을 등록하기 전에 이미 올려둔 파일은 캐시 처리가 되어 기록에 남아있게 된다.
이는 변경관리 에 의해 관리되고 있는 파일이기 때문에, .gitignore 에 등록하더라도 변경관리에서 계속 추적을 할 수가 있다.
따라서, 변경관리가 추적 중인 캐시 파일을 삭제 하는 것이 해결법이다.
어떤 작업을 하든 branch 부터 생성해주자.
(그렇지 않으면 marstet 에 바로 push 하는 경우가 생겨버린다.)
터미널(Git Bash)에서 할 경우, 아래의 명령어로 브랜치를 생성해주면 된다.
$ git branch [브랜치명]
소스트리 > 우측 상단 에 보면, 터미널이 있다.
소스트리를 이용해, main(또는 master) 에 새로운 branch 를 생성해줄 수 있다.
git rm -r --cached .
모든 캐시를 삭제
git add .
캐시를 삭제한 파일을 스테이지에 올리고
git commit -m "커밋메시지"
커밋메시지를 작성하고 commit 해준다.
그리고 이후엔 push 와 파일 확인 후 merge 를 진행해주면 된다.
참고: [IntelliJ] .gitignore 파일에 application.properties 민감 정보 안나오게 하기
참고: Gitignore 새로 반영하기
참고: [GIT] git 캐시 삭제
참고: [Spring] Springboot 개발 환경 분리 및 Datasource 암호화 하기