From 6767bd4a7eb17dd6af00ed5a2b9538eb870a7317 Mon Sep 17 00:00:00 2001 From: wellbeing-dough Date: Thu, 11 Jan 2024 15:20:02 +0900 Subject: [PATCH] =?UTF-8?q?add:=20FCM=20secret.json=EC=9D=84=20=08CICD?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=88=A8=EA=B2=A8=EC=84=9C=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SUMMARY.md | 3 +- ...60\355\217\254\355\225\230\352\270\260.md" | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 "dongwoo/project/studyHub/FCM secret.json\354\235\204 \bCICD\354\227\220\354\204\234 \354\210\250\352\262\250\354\204\234 \353\260\260\355\217\254\355\225\230\352\270\260.md" diff --git a/SUMMARY.md b/SUMMARY.md index ed6c20a..56e20e6 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -19,4 +19,5 @@ - Study Hub - [Spring Batch](dongwoo/project/studyHub/Spring Batch 모집글 상태 자동 변환.md) - [EC2 Timezone](dongwoo/project/studyHub/Github%20Actions,%20ec2%20timezone변경.md) - - [Deploy Timezone](dongwoo/project/studyHub/CI서버 Repository Test 에서 시간 정렬이 안되는 이슈.md) \ No newline at end of file + - [Deploy Timezone](dongwoo/project/studyHub/CI서버 Repository Test 에서 시간 정렬이 안되는 이슈.md) + - [Deploy Secret.json](dongwoo/project/studyHub/FCM%20secret.json을%20%08CICD에서%20숨겨서%20배포하기.md) \ No newline at end of file diff --git "a/dongwoo/project/studyHub/FCM secret.json\354\235\204 \bCICD\354\227\220\354\204\234 \354\210\250\352\262\250\354\204\234 \353\260\260\355\217\254\355\225\230\352\270\260.md" "b/dongwoo/project/studyHub/FCM secret.json\354\235\204 \bCICD\354\227\220\354\204\234 \354\210\250\352\262\250\354\204\234 \353\260\260\355\217\254\355\225\230\352\270\260.md" new file mode 100644 index 0000000..c7f602d --- /dev/null +++ "b/dongwoo/project/studyHub/FCM secret.json\354\235\204 \bCICD\354\227\220\354\204\234 \354\210\250\352\262\250\354\204\234 \353\260\260\355\217\254\355\225\230\352\270\260.md" @@ -0,0 +1,28 @@ +## 문제점 +1. FCM 시크릿키는 숨겨야 함 +2. secret.json을 이그노어 함 +3. 그럼 github actions의 CICD에서는 이그노어 된 파일을 볼 수 없음 +4. yml의 환경변수가 아니라 json이라서 ELB 환경변수에 넣기도 힘듬 + +## 해결 방법 +1. 깃헙 시크릿 키에 json파일을 저장 +2. deploy.yml에서 빌드하기전에 src/main/resources/firebase 경로에 시크릿 키에서 가져온 json 넣는 스크립트 코드 작성 + +이렇게 하려 했는데 github actions에서 시크릿에 json 넣는것을 피하라 했다 +``` +To help ensure that GitHub redacts your secret in logs, +avoid using structured data as the values of secrets. +For example, avoid creating secrets that contain JSON or encoded Git blobs. +``` +그래서 해결하다가 중간에 바꿨다 +1. 깃헙 시크릿에 json파일을 base64로 인코딩 하여 저장 +2. deploy.yml에서 빌드하기전에 시크릿에서 가져온 json base64로 디코딩 +3. src/main/resources/firebase 에 디코딩한 json저장 + +``` + - name: Setup Firebase service key + run: | + mkdir -p src/main/resources/firebase + echo ${{ secrets.FIREBASE_SERVICE_KEY_BASE64_ENCODE }} | base64 -d > src/main/resources/firebase/firebase-service-key.json +``` +