[Spring] Json 파일 build 할 때 env로 불러오기(feat. Spring Boot)

kjoo0·2024년 7월 1일

Spring 이모저모

목록 보기
6/7
post-thumbnail

이렇게 환경변수로 등록해서 사용하는 게 틀렸을 가능성 오만팔천퍼센트

문제상황

fcm 서비스 이용을 위해 service account key json 파일이 필요했다.
그래서 resources에 저장했는데 또 그걸 깃에 푸시하자니 문제가 있어서 계속 stash 했다가 pop했다가 사용했는데
ci cd에서는 자동으로 빌드를 하는 부분에서 추가적으로 그 파일을 넣는게 생각보다 곤란했다 ㅠㅠ..

해결방법

gpt가 일반적이지 않은 방법이라고는 한 방법을 사용했다.
Json을 .env에 변수로 넣을 때는 다음의 규칙에 맞춰 변경해줘야 한다.

  • \n\\n으로 바꿔줘야 한다.
  • 임의로 넣는 스페이스바, 엔터 다 빼준다.

해결책

// bootRun 작업에 환경 변수 추가
bootRun {
    environment 'GOOGLE_APPLICATION_CREDENTIALS', '../service-account-file.json'
}

// run 작업에 환경 변수 추가
tasks.withType(JavaExec) {
    environment 'GOOGLE_APPLICATION_CREDENTIALS', '../service-account-file.json'
}

git과 연결되어 있지 않은 상위 폴더에 json 파일을 놓고, 환경변수 세팅을 빌드할 때, 실행할 때마다 같이 실행해주게 build.gradle에 추가했다.
^^
버전 관리가 전혀 되지 않을 거 같은 불안st한 느낌입니다

많은 지적 부탁드립니다ㅠㅠ

profile
티스토리 이사 준비 중..

0개의 댓글