From ed4b33ab56946a602a217be171725a7ef5306385 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 01:28:01 +0900 Subject: [PATCH 01/15] =?UTF-8?q?chore:=20AWS=20=EA=B0=9C=EB=B0=9C=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20CD=EB=A5=BC=20=EC=9C=84=ED=95=9C=20worlflo?= =?UTF-8?q?w=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 108 +++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 .github/workflows/cloud-dev-build-deploy.yml diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml new file mode 100644 index 00000000..e8993dc9 --- /dev/null +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -0,0 +1,108 @@ +name: Build and Deploy to Development Server + +on: + push: + branches: + - develop + workflow_dispatch: + +jobs: + build-docker-image: + runs-on: ubuntu-latest + environment: dev + + steps: + - name: get repo from github + uses: actions/checkout@v3 + + # JDK setting + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + # gradle 빌드 + - name: Setup Gradle + run: chmod +x gradlew + + - name: Build with Gradle Wrapper + run: | + ./gradlew clean build -p aics-admin -x test + ./gradlew clean build -p aics-api -x test + ./gradlew clean build -p aics-auth -x test + + # DockerHub 로그인 + - name: Docker login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + # Docker 이미지 빌드 + - name: Docker image build for aics-admin + run: | + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} -f aics-admin/Dockerfile . + docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest + + - name: Docker image build for aics-api + run: | + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} -f aics-api/Dockerfile . + docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest + + - name: Docker image build for aics-auth + run: | + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} -f aics-auth/Dockerfile . + docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest + + # Docker Hub 이미지 푸시 + - name: docker Hub push for aics-admin + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest + + - name: docker Hub push for aics-api + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest + + - name: docker Hub push for aics-auth + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest + + deploy-to-dev: + runs-on: ubuntu-latest + needs: build-docker-image + environment: dev + + steps: + - name: checkout repository + uses: actions/checkout@v3 + + - name: scp docker-compose.yml to server + uses: appleboy/scp-action@master + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ secrets.SERVER_PORT }} + source: docker/development/docker-compose.yml + target: ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} + strip_components: 2 + + - name: ssh to server and deploy + uses: appleboy/ssh-action@v1.1.0 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ secrets.SERVER_PORT }} + script: | + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-api + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-admin + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-auth + + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-admin + echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-auth \ No newline at end of file From 33908eb52afcd588cb22151964297ee63d7cb703 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 02:22:29 +0900 Subject: [PATCH 02/15] =?UTF-8?q?fix:=20docker=20compose=EC=97=90=EC=84=9C?= =?UTF-8?q?=20SSH=5FPRIVATE=5FKEY=EB=A5=BC=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index e8993dc9..f71fdf4a 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -1,4 +1,4 @@ -name: Build and Deploy to Development Server +name: Build and Deploy to Development Server on Cloud on: push: @@ -77,9 +77,6 @@ jobs: environment: dev steps: - - name: checkout repository - uses: actions/checkout@v3 - - name: scp docker-compose.yml to server uses: appleboy/scp-action@master with: @@ -99,10 +96,8 @@ jobs: key: ${{ secrets.SSH_PRIVATE_KEY }} port: ${{ secrets.SERVER_PORT }} script: | - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-api - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-admin - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-auth + set -euo pipefail + cd ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-admin - echo "${{ secrets.SSH_PRIVATE_KEY }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-auth \ No newline at end of file + docker compose pull aics-api aics-admin aics-auth + docker compose --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api aics-admin aics-auth From ff6883b52993317b3d51169be8ef43c675a41417 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 02:38:27 +0900 Subject: [PATCH 03/15] =?UTF-8?q?refactor:=20=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index f71fdf4a..21c2deff 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -1,9 +1,7 @@ name: Build and Deploy to Development Server on Cloud on: - push: - branches: - - develop + workflow_dispatch: jobs: @@ -13,7 +11,7 @@ jobs: steps: - name: get repo from github - uses: actions/checkout@v3 + uses: actions/checkout@v4 # JDK setting - name: Set up JDK 17 @@ -34,7 +32,7 @@ jobs: # DockerHub 로그인 - name: Docker login - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} From 5a59393abf2d6354cac704fb0daa466afa4a90ce Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 02:57:31 +0900 Subject: [PATCH 04/15] =?UTF-8?q?refactor:=20=EC=9B=8C=ED=81=AC=ED=94=8C?= =?UTF-8?q?=EB=A1=9C=EC=9A=B0=20=EA=B0=90=EC=A7=80=EB=A5=BC=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=ED=8A=B8=EB=A6=AC?= =?UTF-8?q?=EA=B1=B0=EC=97=90=20=EC=9E=84=EC=8B=9C=EC=A0=81=EC=9D=B8=20?= =?UTF-8?q?=ED=98=84=EC=9E=AC=20=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 21c2deff..3bb85953 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -1,7 +1,10 @@ name: Build and Deploy to Development Server on Cloud on: - + push: + branches: + - "chore/KD-58" + - develop workflow_dispatch: jobs: From 5ccfbca7c4beaa8ca2bb301c8263bc6ed4e1375a Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 03:18:17 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20environment=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 3bb85953..cbd3f967 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -10,7 +10,7 @@ on: jobs: build-docker-image: runs-on: ubuntu-latest - environment: dev + environment: cloud-dev steps: - name: get repo from github @@ -75,7 +75,7 @@ jobs: deploy-to-dev: runs-on: ubuntu-latest needs: build-docker-image - environment: dev + environment: cloud-dev steps: - name: scp docker-compose.yml to server From e303d0ca8579339d5560bf98b5a5711104a8d77b Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 04:03:27 +0900 Subject: [PATCH 06/15] =?UTF-8?q?fix:=20=EC=B2=B4=ED=81=AC=ED=8F=AC?= =?UTF-8?q?=EC=9D=B8=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index cbd3f967..74e907af 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -78,6 +78,9 @@ jobs: environment: cloud-dev steps: + - name: checkout repository + uses: actions/checkout@v3 + - name: scp docker-compose.yml to server uses: appleboy/scp-action@master with: From d75ec18ec2af8759dce9a5130d3cab52882ee4a2 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 22:10:29 +0900 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20CORS=20=EA=B0=9C=EB=B0=9C=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20IP=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../developers/common/config/SecurityConfig.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java index e201c665..56710001 100644 --- a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java +++ b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java @@ -1,8 +1,8 @@ package kgu.developers.common.config; -import java.util.Arrays; -import java.util.Collections; - +import kgu.developers.common.auth.filter.TokenAuthenticationFilter; +import kgu.developers.common.auth.jwt.TokenProvider; +import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; @@ -19,9 +19,8 @@ import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.CorsConfigurationSource; -import kgu.developers.common.auth.filter.TokenAuthenticationFilter; -import kgu.developers.common.auth.jwt.TokenProvider; -import lombok.RequiredArgsConstructor; +import java.util.Arrays; +import java.util.Collections; @Configuration @EnableWebSecurity @@ -105,7 +104,8 @@ CorsConfigurationSource corsConfigurationSource() { "https://aics-client-dev.vercel.app/", "http://175.45.195.63", "http://203.249.22.207", - "http://13.125.230.147" + "http://13.125.230.147", + "http://52.79.164.36" )); config.setAllowCredentials(true); return config; From 66a545f4c5753b10b3d0eb75f45b305966630f77 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Tue, 30 Dec 2025 22:19:25 +0900 Subject: [PATCH 08/15] =?UTF-8?q?fix:=20CORS=20=EC=98=A4=EB=A5=98=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/config/SwaggerConfig.java | 21 +++++++++---------- .../developers/api/config/SwaggerConfig.java | 21 +++++++++---------- .../developers/auth/config/SwaggerConfig.java | 21 +++++++++---------- .../common/config/SecurityConfig.java | 6 ++++-- 4 files changed, 34 insertions(+), 35 deletions(-) diff --git a/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java b/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java index 4f9ea564..4c772dda 100644 --- a/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java +++ b/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java @@ -1,15 +1,5 @@ package kgu.developers.admin.config; -import static java.lang.String.format; - -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; - import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; @@ -17,6 +7,15 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import io.swagger.v3.oas.models.servers.Server; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +import java.util.List; +import java.util.Map; + +import static java.lang.String.format; @Configuration @RequiredArgsConstructor @@ -34,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "https://aics-admin.ummdev.com", + "dev", "http://52.79.164.36:8081", "local", "http://localhost:8081" ); diff --git a/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java b/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java index 2e2674c9..d8b04c55 100644 --- a/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java +++ b/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java @@ -1,15 +1,5 @@ package kgu.developers.api.config; -import static java.lang.String.format; - -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; - import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; @@ -17,6 +7,15 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import io.swagger.v3.oas.models.servers.Server; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +import java.util.List; +import java.util.Map; + +import static java.lang.String.format; @Configuration @RequiredArgsConstructor @@ -34,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "https://aics-api.ummdev.com", + "dev", "http://52.79.164.36:8080", "local", "http://localhost:8080" ); diff --git a/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java b/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java index 581b4632..ebbe0711 100644 --- a/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java +++ b/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java @@ -1,15 +1,5 @@ package kgu.developers.auth.config; -import static java.lang.String.format; - -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; - import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; @@ -17,6 +7,15 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import io.swagger.v3.oas.models.servers.Server; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +import java.util.List; +import java.util.Map; + +import static java.lang.String.format; @Configuration @RequiredArgsConstructor @@ -34,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "https://aics-auth.ummdev.com", + "dev", "http://52.79.164.36:8082", "local", "http://localhost:8082" ); diff --git a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java index 56710001..511ff2b5 100644 --- a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java +++ b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java @@ -101,11 +101,13 @@ CorsConfigurationSource corsConfigurationSource() { "https://aics-api.ummdev.com", "https://aics-admin.ummdev.com", "https://aics-auth.ummdev.com", + "http://52.79.164.36:8080", + "http://52.79.164.36:8081", + "http://52.79.164.36:8082", "https://aics-client-dev.vercel.app/", "http://175.45.195.63", "http://203.249.22.207", - "http://13.125.230.147", - "http://52.79.164.36" + "http://13.125.230.147" )); config.setAllowCredentials(true); return config; From ba707c137fea07bfb79ce069d9c71ab864c1ba1d Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Wed, 31 Dec 2025 18:29:08 +0900 Subject: [PATCH 09/15] =?UTF-8?q?refactor:=20=EA=B8=B0=EC=A1=B4=20?= =?UTF-8?q?=EA=B0=9C=EB=B0=9C=20=EC=84=9C=EB=B2=84=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?workflow,=20cors=20=EC=84=A4=EC=A0=95=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 1 - .github/workflows/dev-build-deploy.yml | 108 ------------------ .../common/config/SecurityConfig.java | 3 - 3 files changed, 112 deletions(-) delete mode 100644 .github/workflows/dev-build-deploy.yml diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 74e907af..efcab302 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -3,7 +3,6 @@ name: Build and Deploy to Development Server on Cloud on: push: branches: - - "chore/KD-58" - develop workflow_dispatch: diff --git a/.github/workflows/dev-build-deploy.yml b/.github/workflows/dev-build-deploy.yml deleted file mode 100644 index 95e8fad5..00000000 --- a/.github/workflows/dev-build-deploy.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Build and Deploy to Development Server - -on: - push: - branches: - - develop - workflow_dispatch: - -jobs: - build-docker-image: - runs-on: ubuntu-latest - environment: dev - - steps: - - name: get repo from github - uses: actions/checkout@v3 - - # JDK setting - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' - - # gradle 빌드 - - name: Setup Gradle - run: chmod +x gradlew - - - name: Build with Gradle Wrapper - run: | - ./gradlew clean build -p aics-admin -x test - ./gradlew clean build -p aics-api -x test - ./gradlew clean build -p aics-auth -x test - - # DockerHub 로그인 - - name: Docker login - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - # Docker 이미지 빌드 - - name: Docker image build for aics-admin - run: | - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} -f aics-admin/Dockerfile . - docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest - - - name: Docker image build for aics-api - run: | - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} -f aics-api/Dockerfile . - docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest - - - name: Docker image build for aics-auth - run: | - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} -f aics-auth/Dockerfile . - docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest - - # Docker Hub 이미지 푸시 - - name: docker Hub push for aics-admin - run: | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest - - - name: docker Hub push for aics-api - run: | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest - - - name: docker Hub push for aics-auth - run: | - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} - docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest - - deploy-to-dev: - runs-on: ubuntu-latest - needs: build-docker-image - environment: dev - - steps: - - name: checkout repository - uses: actions/checkout@v3 - - - name: scp docker-compose.yml to server - uses: appleboy/scp-action@master - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USERNAME }} - password: ${{ secrets.SERVER_PASSWORD }} - port: ${{ secrets.SERVER_PORT }} - source: docker/development/docker-compose.yml - target: ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} - strip_components: 2 - - - name: ssh to server and deploy - uses: appleboy/ssh-action@v1.1.0 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USERNAME }} - password: ${{ secrets.SERVER_PASSWORD }} - port: ${{ secrets.SERVER_PORT }} - script: | - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-api - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-admin - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-auth - - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-admin - echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-auth \ No newline at end of file diff --git a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java index 511ff2b5..ace9368a 100644 --- a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java +++ b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java @@ -98,9 +98,6 @@ CorsConfigurationSource corsConfigurationSource() { "http://localhost:8080", "http://localhost:8081", "http://localhost:8082", - "https://aics-api.ummdev.com", - "https://aics-admin.ummdev.com", - "https://aics-auth.ummdev.com", "http://52.79.164.36:8080", "http://52.79.164.36:8081", "http://52.79.164.36:8082", From cc2823c3a2f5f17a463aa73dda4555a8b643313d Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 01:42:42 +0900 Subject: [PATCH 10/15] =?UTF-8?q?refactor:=20Caddy=EB=A5=BC=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=ED=95=9C=20=EB=A6=AC=EB=B2=84=EC=8A=A4=20=ED=94=84?= =?UTF-8?q?=EB=A1=9D=EC=8B=9C=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 4 ++-- .../admin/config/SwaggerConfig.java | 2 +- .../developers/api/config/SwaggerConfig.java | 2 +- .../developers/auth/config/SwaggerConfig.java | 2 +- .../common/config/SecurityConfig.java | 6 +++--- caddy/development/Caddyfile | 19 +++++++++++++++++++ docker/development/docker-compose.yml | 18 +++++++++++++++++- 7 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 caddy/development/Caddyfile diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index efcab302..982964f1 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -80,14 +80,14 @@ jobs: - name: checkout repository uses: actions/checkout@v3 - - name: scp docker-compose.yml to server + - name: scp ocker-compose and Caddyfile to server uses: appleboy/scp-action@master with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USERNAME }} key: ${{ secrets.SSH_PRIVATE_KEY }} port: ${{ secrets.SERVER_PORT }} - source: docker/development/docker-compose.yml + source: "docker/development/docker-compose.yml, caddy/development/Caddyfile" target: ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} strip_components: 2 diff --git a/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java b/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java index 4c772dda..b0038b6f 100644 --- a/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java +++ b/aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java @@ -33,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "http://52.79.164.36:8081", + "dev", "https://aics-admin.kgudevelopers.monster", "local", "http://localhost:8081" ); diff --git a/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java b/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java index d8b04c55..32755f68 100644 --- a/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java +++ b/aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java @@ -33,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "http://52.79.164.36:8080", + "dev", "https://aics-api.kgudevelopers.monster", "local", "http://localhost:8080" ); diff --git a/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java b/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java index ebbe0711..e04911cf 100644 --- a/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java +++ b/aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java @@ -33,7 +33,7 @@ public class SwaggerConfig { private final Environment environment; private static final Map PROFILE_SERVER_URL_MAP = Map.of( - "dev", "http://52.79.164.36:8082", + "dev", "https://aics-auth.kgudevelopers.monster", "local", "http://localhost:8082" ); diff --git a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java index ace9368a..74fb849f 100644 --- a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java +++ b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java @@ -98,9 +98,9 @@ CorsConfigurationSource corsConfigurationSource() { "http://localhost:8080", "http://localhost:8081", "http://localhost:8082", - "http://52.79.164.36:8080", - "http://52.79.164.36:8081", - "http://52.79.164.36:8082", + "https://aics-api.kgudevelopers.com", + "https://aics-admin.kgudevelopers.com", + "https://aics-auth.kgudevelopers.com", "https://aics-client-dev.vercel.app/", "http://175.45.195.63", "http://203.249.22.207", diff --git a/caddy/development/Caddyfile b/caddy/development/Caddyfile new file mode 100644 index 00000000..2b8a440f --- /dev/null +++ b/caddy/development/Caddyfile @@ -0,0 +1,19 @@ +{ + email kgudevelopers@gmail.com +} + +aics-api.kgudevelopers.monster { + reverse_proxy aics-api:8080 +} + +aics-admin.kgudevelopers.monster { + reverse_proxy aics-admin:8081 +} + +aics-auth.kgudevelopers.monster { + reverse_proxy aics-auth:8082 +} + +kgudevelopers.monster { + reverse_proxy aics-app:3000 +} \ No newline at end of file diff --git a/docker/development/docker-compose.yml b/docker/development/docker-compose.yml index 66f97b2d..d095ce8e 100644 --- a/docker/development/docker-compose.yml +++ b/docker/development/docker-compose.yml @@ -71,9 +71,25 @@ services: networks: - aics-network + caddy: + image: caddy:latest + container_name: caddy + restart: unless-stopped + ports: + - "80:80" + - "443:443" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + networks: + - aics-network + networks: aics-network: driver: bridge volumes: - postgres-data: \ No newline at end of file + postgres-data: + caddy_data: + caddy_config: \ No newline at end of file From d200a48a9293d82d5774829de0ada539691819f9 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 01:57:12 +0900 Subject: [PATCH 11/15] =?UTF-8?q?refactor:=20on=20push=20=EC=9D=B4?= =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=9E=84=EC=8B=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 982964f1..a3375a02 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -1,9 +1,6 @@ name: Build and Deploy to Development Server on Cloud on: - push: - branches: - - develop workflow_dispatch: jobs: From 4d86df2e3dd3d187aec52a85764db0ba041241f3 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 01:57:12 +0900 Subject: [PATCH 12/15] =?UTF-8?q?refactor:=20=ED=98=84=EC=9E=AC=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 982964f1..c7834186 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -3,6 +3,7 @@ name: Build and Deploy to Development Server on Cloud on: push: branches: + - "chore/KD-58" - develop workflow_dispatch: From 23e13b01ee1560c886d437e426af129ede2c56d5 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 02:09:42 +0900 Subject: [PATCH 13/15] =?UTF-8?q?refactor:=20=ED=98=84=EC=9E=AC=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index c7834186..982964f1 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -3,7 +3,6 @@ name: Build and Deploy to Development Server on Cloud on: push: branches: - - "chore/KD-58" - develop workflow_dispatch: From 00ed7961113b38ea57139aa275fcebd64b122657 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 02:10:11 +0900 Subject: [PATCH 14/15] =?UTF-8?q?refactor:=20ocker=20->=20docker=20?= =?UTF-8?q?=EC=98=A4=ED=83=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cloud-dev-build-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cloud-dev-build-deploy.yml b/.github/workflows/cloud-dev-build-deploy.yml index 982964f1..1c568c30 100644 --- a/.github/workflows/cloud-dev-build-deploy.yml +++ b/.github/workflows/cloud-dev-build-deploy.yml @@ -80,7 +80,7 @@ jobs: - name: checkout repository uses: actions/checkout@v3 - - name: scp ocker-compose and Caddyfile to server + - name: scp docker-compose and Caddyfile to server uses: appleboy/scp-action@master with: host: ${{ secrets.SERVER_HOST }} From 3b3defb3e79a52242b2e900fbac7f6e565483590 Mon Sep 17 00:00:00 2001 From: JangYeongHu Date: Thu, 1 Jan 2026 07:07:39 +0900 Subject: [PATCH 15/15] =?UTF-8?q?refactor:=20SecurityConfig=20=EC=98=A4?= =?UTF-8?q?=ED=83=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kgu/developers/common/config/SecurityConfig.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java index 74fb849f..e36ef2bd 100644 --- a/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java +++ b/aics-common/src/main/java/kgu/developers/common/config/SecurityConfig.java @@ -98,9 +98,9 @@ CorsConfigurationSource corsConfigurationSource() { "http://localhost:8080", "http://localhost:8081", "http://localhost:8082", - "https://aics-api.kgudevelopers.com", - "https://aics-admin.kgudevelopers.com", - "https://aics-auth.kgudevelopers.com", + "https://aics-api.kgudevelopers.monster", + "https://aics-admin.kgudevelopers.monster", + "https://aics-auth.kgudevelopers.monster", "https://aics-client-dev.vercel.app/", "http://175.45.195.63", "http://203.249.22.207",