diff --git a/Dockerfile b/.deploy/Dockerfile similarity index 100% rename from Dockerfile rename to .deploy/Dockerfile diff --git a/.deploy/docker-compose-dev.yml b/.deploy/docker-compose-dev.yml new file mode 100644 index 00000000..2f0a3544 --- /dev/null +++ b/.deploy/docker-compose-dev.yml @@ -0,0 +1,12 @@ +services: + deploy: + container_name: flight + image: ${DOCKER_USERNAME}/${DOCKER_REPOSITORY} + expose: + - 8080 + ports: + - "8080:8080" + environment: + - DB_URL=${DB_URL} + - DB_USERNAME=${DB_USERNAME} + - DB_PASSWORD=${DB_PASSWORD} \ No newline at end of file diff --git a/.github/workflows/CD-dev.yml b/.github/workflows/CD-dev.yml index 2ca36295..1bc05cc5 100644 --- a/.github/workflows/CD-dev.yml +++ b/.github/workflows/CD-dev.yml @@ -2,7 +2,7 @@ name: CD-dev on: push: - branches: [ "main" ] + branches: [ "feat/flight-17" ] permissions: contents: read @@ -44,7 +44,7 @@ jobs: echo "DB_URL=${{ secrets.DEV_DB_URL }}" >> ./.env echo "DB_USERNAME=${{ secrets.DEV_DB_USERNAME }}" >> ./.env echo "DB_PASSWORD=${{ secrets.DEV_DB_PASSWORD }}" >> ./.env -# echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> ./.env + echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> ./.env # echo "KAKAO_APP_ID=${{ secrets.KAKAO_APP_ID }}" >> ./.env # echo "APPLE_APP_ID=${{ secrets.APPLE_APP_ID }}" >> ./.env # echo "S3_BUCKET=${{ secrets.S3_BUCKET }}" >> ./.env @@ -62,20 +62,9 @@ jobs: - name: docker build and push run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker build -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }} . + docker build -f ./.deploy/Dockerfile -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }} . docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }} - ## deploy.sh 파일 서버로 전달 - - name: Send deploy.sh - uses: appleboy/scp-action@master - with: - username: ubuntu - host: ${{ secrets.HOST }} - key: ${{ secrets.KEY }} - port: 22 - source: "./scripts/" - target: "/home/ubuntu/" - - name: Send docker-compose.yml uses: appleboy/scp-action@master with: @@ -83,7 +72,7 @@ jobs: host: ${{ secrets.HOST }} key: ${{ secrets.KEY }} port: 22 - source: "./docker-compose.yml" + source: "./.deploy/docker-compose-dev.yml" target: "/home/ubuntu/" ## 도커 허브에서 jar파일 및 pull후에 컴포즈 up @@ -94,8 +83,8 @@ jobs: host: ${{ secrets.HOST }} key: ${{ secrets.KEY }} script: | - sudo docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }} - chmod 777 ./scripts/deploy.sh - cp ./scripts/deploy.sh ./deploy.sh - ./deploy.sh - docker image prune -f + docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }} + docker compose stop ${{secrets.DOCKER_REPOSITORY}} + docker compose rm -f ${{secrets.DOCKER_REPOSITORY}} + docker compose -f docker-compose-dev.yml up -d + docker image prune -f \ No newline at end of file diff --git a/Api-Module/src/main/kotlin/com/bamyanggang/apimodule/domain/auth/presentation/AuthController.kt b/Api-Module/src/main/kotlin/com/bamyanggang/apimodule/domain/auth/presentation/AuthController.kt index 52bdaead..cf59c07f 100644 --- a/Api-Module/src/main/kotlin/com/bamyanggang/apimodule/domain/auth/presentation/AuthController.kt +++ b/Api-Module/src/main/kotlin/com/bamyanggang/apimodule/domain/auth/presentation/AuthController.kt @@ -3,6 +3,7 @@ package com.bamyanggang.apimodule.domain.auth.presentation import com.bamyanggang.apimodule.domain.auth.application.dto.SocialLogin import com.bamyanggang.apimodule.domain.auth.application.service.AuthService import com.bamyanggang.domainmodule.domain.auth.enum.SocialLoginProvider +import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody @@ -18,5 +19,4 @@ class AuthController( @PathVariable provider: SocialLoginProvider, @RequestBody request: SocialLogin.Request ): SocialLogin.Response = authService.executeSocialLogin(provider,request) - } \ No newline at end of file diff --git a/Api-Module/src/main/resources/application.yml b/Api-Module/src/main/resources/application.yml index eadcecda..42828de2 100644 --- a/Api-Module/src/main/resources/application.yml +++ b/Api-Module/src/main/resources/application.yml @@ -11,4 +11,10 @@ spring: open-in-view: false hibernate: ddl-auto: update - database-platform: org.hibernate.dialect.MySQLDialect \ No newline at end of file + database-platform: org.hibernate.dialect.MySQLDialect + +jwt: + secret: ${JWT_SECRET} + access-token-expiration-time: 3600000 # 60*60*1000 = 1시간 + refresh-token-expiration-time: 604800000 # 7*24*60*60*1000 = 7일 + registration-token-expiration-time: 1000 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1b2a4fc4..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: '3' -services: - blue: - container_name: blue - image: ${DOCKER_USERNAME}/${DOCKER_REPOSITORY} - expose: - - 8080 - ports: - - "8082:8080" - environment: - - DB_URL=${DB_URL} - - DB_USERNAME=${DB_USERNAME} - - DB_PASSWORD=${DB_PASSWORD} - green: - container_name: green - image: ${DOCKER_USERNAME}/${DOCKER_REPOSITORY} - expose: - - 8080 - ports: - - "8081:8080" - environment: - - DB_URL=${DB_URL} - - DB_USERNAME=${DB_USERNAME} - - DB_PASSWORD=${DB_PASSWORD} \ No newline at end of file diff --git a/scripts/deploy.sh b/scripts/deploy.sh deleted file mode 100644 index 5edf70c9..00000000 --- a/scripts/deploy.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -IS_GREEN=$(docker ps | grep green) # 현재 실행중인 App이 blue인지 확인합니다. -DEFAULT_CONF=" /etc/nginx/nginx.conf" - -if [ -z $IS_GREEN ];then # blue라면 - - echo "### BLUE => GREEN ####" - - echo "1. get green image" - docker-compose pull green # green으로 이미지를 내려받습니다. - - echo "2. green container up" - docker-compose up -d green # green 컨테이너 실행 - - while [ 1 = 1 ]; do - echo "3. green health check..." - sleep 3 - - REQUEST=$(curl http://127.0.0.1:8081) # green으로 request - if [ -n "$REQUEST" ]; then # 서비스 가능하면 health check 중지 - echo "health check success" - break ; - fi - done; - - echo "4. reload nginx" - sudo cp /etc/nginx/nginx.green.conf /etc/nginx/nginx.conf - sudo nginx -s reload - - echo "5. blue container down" - docker-compose stop blue -else - echo "### GREEN => BLUE ###" - - echo "1. get blue image" - docker-compose pull blue - - echo "2. blue container up" - docker-compose up -d blue - - while [ 1 = 1 ]; do - echo "3. blue health check..." - sleep 3 - REQUEST=$(curl http://127.0.0.1:8082) # blue로 request - - if [ -n "$REQUEST" ]; then # 서비스 가능하면 health check 중지 - echo "health check success" - break ; - fi - done; - - echo "4. reload nginx" - sudo cp /etc/nginx/nginx.blue.conf /etc/nginx/nginx.conf - sudo nginx -s reload - - echo "5. green container down" - docker-compose stop green -fi \ No newline at end of file