diff --git a/.github/workflows/backend-dev-deploy.yml b/.github/workflows/backend-dev-deploy.yml index ffdcd831b..2475945ae 100644 --- a/.github/workflows/backend-dev-deploy.yml +++ b/.github/workflows/backend-dev-deploy.yml @@ -25,16 +25,11 @@ jobs: options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - - name: 백엔드 메인으로 checkout + - name: 선택된 브랜치로 checkout uses: actions/checkout@v3 - - - name: firebase key 생성 - run: | - echo "${{ secrets.FIREBASE_KEY }}" > firebase-kerdy.json - - - name: firebase key 이동 - run: | - cp firebase-kerdy.json src/main/resources + with: + token: ${{ secrets.SUBMODULE_TOKEN }} + submodules: true - name: JDK 11로 설정 uses: actions/setup-java@v3 diff --git a/.github/workflows/backend-prod-deploy.yml b/.github/workflows/backend-prod-deploy.yml index 32f96f4a0..2c386864f 100644 --- a/.github/workflows/backend-prod-deploy.yml +++ b/.github/workflows/backend-prod-deploy.yml @@ -24,6 +24,9 @@ jobs: steps: - name: workflow_dispatch에서 지정한 branch로 checkout uses: actions/checkout@v3 + with: + token: ${{ secrets.SUBMODULE_TOKEN }} + submodules: true - name: firebase key 생성 run: | @@ -65,16 +68,17 @@ jobs: uses: docker/build-push-action@v4 with: context: backend/emm-sale - file: backend/emm-sale/Dockerfile + file: backend/emm-sale/Dockerfile-prod + platforms: linux/arm64/v8 push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/kerdy:latest -# deploy: -# needs: build -# name: 배포 -# runs-on: [ self-hosted, label-prod ] -# steps: -# - name: 도커 실행 -# run: | -# sudo docker stop kerdy && docker rm kerdy && docker rmi ${{ DOCKERHUB_USERNAME }}/kerdy -# sudo docker run -d -p 8080:8080 --name kerdy + deploy: + needs: build + name: 배포 + runs-on: [ self-hosted, label-prod ] + steps: + - name: 도커 실행 + run: | + docker stop kerdy && docker rm kerdy && docker rmi ${{ secrets.DOCKERHUB_USERNAME }}/kerdy + docker run -d -p 8080:8080 --name kerdy ${{ secrets.DOCKERHUB_USERNAME }}/kerdy diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..996e4febc --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "backend/emm-sale/src/main/resources/kerdy-submodule"] + path = backend/emm-sale/src/main/resources/kerdy-submodule + url = https://github.com/java-saeng/kerdy-submodule.git diff --git a/backend/emm-sale/Dockerfile-prod b/backend/emm-sale/Dockerfile-prod new file mode 100644 index 000000000..82b8139c3 --- /dev/null +++ b/backend/emm-sale/Dockerfile-prod @@ -0,0 +1,4 @@ +FROM openjdk:11 as build +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} kerdy.jar +ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/kerdy.jar"] diff --git a/backend/emm-sale/src/main/java/com/emmsale/notification/application/FirebaseCloudMessageClient.java b/backend/emm-sale/src/main/java/com/emmsale/notification/application/FirebaseCloudMessageClient.java index 8f2ee1588..1d82daa1b 100644 --- a/backend/emm-sale/src/main/java/com/emmsale/notification/application/FirebaseCloudMessageClient.java +++ b/backend/emm-sale/src/main/java/com/emmsale/notification/application/FirebaseCloudMessageClient.java @@ -40,7 +40,7 @@ public class FirebaseCloudMessageClient { private static final String PREFIX_ACCESS_TOKEN = "Bearer "; private static final String PREFIX_FCM_REQUEST_URL = "https://fcm.googleapis.com/v1/projects/"; private static final String POSTFIX_FCM_REQUEST_URL = "/messages:send"; - private static final String FIREBASE_KEY_PATH = "firebase-kerdy.json"; + private static final String FIREBASE_KEY_PATH = "kerdy-submodule/firebase-kerdy.json"; private static final boolean DEFAULT_VALIDATE_ONLY = false; private final ObjectMapper objectMapper; diff --git a/backend/emm-sale/src/main/resources/application.yml b/backend/emm-sale/src/main/resources/application.yml index e11c6020b..24b5c6012 100644 --- a/backend/emm-sale/src/main/resources/application.yml +++ b/backend/emm-sale/src/main/resources/application.yml @@ -15,6 +15,9 @@ spring: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true show-sql: true + config: + activate: + on-profile: default logging: level: @@ -42,3 +45,21 @@ security: firebase: project: id: kerdy + + +--- + +spring: + config: + import: classpath:kerdy-submodule/application-dev.yml + activate: + on-profile: dev + +--- + +spring: + config: + import: classpath:kerdy-submodule/application-prod.yml + activate: + on-profile: prod + diff --git a/backend/emm-sale/src/main/resources/kerdy-submodule b/backend/emm-sale/src/main/resources/kerdy-submodule new file mode 160000 index 000000000..cb7dbb037 --- /dev/null +++ b/backend/emm-sale/src/main/resources/kerdy-submodule @@ -0,0 +1 @@ +Subproject commit cb7dbb03715c572399840e5434ef1b44f023032f