From 410fc110b57942ad6ee57c53a432f454ffc9f5c3 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 18:35:54 +0900 Subject: [PATCH 01/16] =?UTF-8?q?feat:=20application-local=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-local.yml | 17 +++++++++++++++++ src/main/resources/application.properties | 1 - 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/application-local.yml delete mode 100644 src/main/resources/application.properties diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml new file mode 100644 index 0000000..5e89dd9 --- /dev/null +++ b/src/main/resources/application-local.yml @@ -0,0 +1,17 @@ +server: + port: 8761 + +spring: + profiles: + active: local + application: + name: discovery-service + +eureka: + client: + register-with-eureka: false + fetch-registry: false + + server: + wait-time-in-ms-when-sync-empty: 0 # ?? ????? ??? ?? ??? ?? ?? ?? ?? ?? + response-cache-update-interval-ms: 30000 # ??????? ??? ??? ?? ??? 30??? ?? diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 534cfea..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=discovery_service From 98a137b886324acdcf9442854f2b9df4bcd63d36 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 21:08:16 +0900 Subject: [PATCH 02/16] =?UTF-8?q?feat:=20=EC=9C=A0=EB=A0=88=EC=B9=B4=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20=ED=99=9C=EC=84=B1=ED=99=94=20=EC=96=B4?= =?UTF-8?q?=EB=85=B8=ED=85=8C=EC=9D=B4=EC=85=98=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../discovery_service/DiscoveryServiceApplication.java | 2 ++ src/main/resources/application-local.yml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/unionmate/discovery_service/DiscoveryServiceApplication.java b/src/main/java/com/unionmate/discovery_service/DiscoveryServiceApplication.java index 5938e89..ded210f 100644 --- a/src/main/java/com/unionmate/discovery_service/DiscoveryServiceApplication.java +++ b/src/main/java/com/unionmate/discovery_service/DiscoveryServiceApplication.java @@ -2,8 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication +@EnableEurekaServer public class DiscoveryServiceApplication { public static void main(String[] args) { diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 5e89dd9..400d93d 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -2,8 +2,6 @@ server: port: 8761 spring: - profiles: - active: local application: name: discovery-service From 21efd398e7fa47fc951156401046fb2bcbd15157 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 21:48:33 +0900 Subject: [PATCH 03/16] =?UTF-8?q?feat:=20application-dev=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/resources/application-dev.yml diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..5cad6e9 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,15 @@ +server: + port: 8761 + +spring: + application: + name: discovery-service-dev + +eureka: + client: + register-with-eureka: false + fetch-registry: false + + server: + wait-time-in-ms-when-sync-empty: 0 # 초기 레지스트리 정보가 비어 있어도 지연 없이 즉시 서버 시작 + response-cache-update-interval-ms: 30000 # 클라이언트에게 제공할 서비스 목록 캐시를 30초마다 갱신 From 6692f52c7d918082a1c3e2baba14fad4c2332688 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 21:50:03 +0900 Subject: [PATCH 04/16] =?UTF-8?q?feat:=20application-prod=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-prod.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/resources/application-prod.yml diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..5cad6e9 --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,15 @@ +server: + port: 8761 + +spring: + application: + name: discovery-service-dev + +eureka: + client: + register-with-eureka: false + fetch-registry: false + + server: + wait-time-in-ms-when-sync-empty: 0 # 초기 레지스트리 정보가 비어 있어도 지연 없이 즉시 서버 시작 + response-cache-update-interval-ms: 30000 # 클라이언트에게 제공할 서비스 목록 캐시를 30초마다 갱신 From 7ee3ee8410d599d6416408d43eac8902067a8615 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 21:53:37 +0900 Subject: [PATCH 05/16] =?UTF-8?q?refactor:=20application-prod=20=EC=96=B4?= =?UTF-8?q?=ED=94=8C=EB=A6=AC=EC=BC=80=EC=9D=B4=EC=85=98=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 5cad6e9..42d4818 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -3,7 +3,7 @@ server: spring: application: - name: discovery-service-dev + name: discovery-service-prod eureka: client: From ef37f7c1a6a800bc364f3e0e32b098d298ec9ac8 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 21:55:22 +0900 Subject: [PATCH 06/16] =?UTF-8?q?feat:=20Dockerfile=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6532d51 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM openjdk:21-jdk + +COPY build/libs/*SNAPSHOT.jar app.jar + +ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILE} -jar /app.jar"] From a7ee4ffc776ab53fedeaf725523b2ba385f103c4 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 22:15:49 +0900 Subject: [PATCH 07/16] =?UTF-8?q?feat:=20ci.yaml=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..94c21e8 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,46 @@ +name: unionmate CI pipeline + +on: + push: + branches: + - dev + pull_request: + branches: + - dev + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + environment: production + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: jdk 설정 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '21' + cache: 'gradle' + + - name: Gradle Wrapper 권한 부여 + run: chmod +x gradlew + + - name: gradle 빌드 + run: ./gradlew clean build + + - name: 도커 로그인 + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_ACCESS_TOKEN }} + + - name: 이미지 빌드 및 푸시 + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + tags: ${{ secrets.DOCKER_USERNAME }}/unionmate-be:latest + push: true From c18218cf6d34709a48cc130aad0dd4431c749311 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 22:45:40 +0900 Subject: [PATCH 08/16] =?UTF-8?q?feat:=20cd-dev.yaml=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-dev.yaml | 28 ++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 4 ++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/cd-dev.yaml diff --git a/.github/workflows/cd-dev.yaml b/.github/workflows/cd-dev.yaml new file mode 100644 index 0000000..73215cc --- /dev/null +++ b/.github/workflows/cd-dev.yaml @@ -0,0 +1,28 @@ +name: unionmate dev CD 파이프라인 + +on: + workflow_run: + workflows: ["discovery-service CI pipeline"] + types: + - completed + +jobs: + deploy: + runs-on: ubuntu-latest + environment: dev + permissions: + contents: read + + steps: + - name: Docker 이미지 dev 서버 배포 + uses: appleboy/ssh-action@master + with: + host: ${{secrets.DEV_HOST}} + username: ${{secrets.DEV_USERNAME}} + key: ${{secrets.DEV_KEY}} + script: | + cd /home/ubuntu + docker rm -f discovery-service-dev || true + docker compose pull discovery-service-dev + docker compose up -d --no-deps --force-recreate --pull always discovery-service-dev + docker image prune -f diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 94c21e8..5640f42 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,4 @@ -name: unionmate CI pipeline +name: discovery-service CI pipeline on: push: @@ -42,5 +42,5 @@ jobs: with: context: . file: ./Dockerfile - tags: ${{ secrets.DOCKER_USERNAME }}/unionmate-be:latest + tags: ${{ secrets.DOCKER_USERNAME }}/unionmate-discovery-service:latest push: true From ab22b42ef1754df46be740877102a4c7491f2a39 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Thu, 18 Sep 2025 23:50:02 +0900 Subject: [PATCH 09/16] =?UTF-8?q?feat:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=86=B5=EA=B3=BC=EC=9A=A9=20application.yml=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 1 + src/test/resources/application-test.yml | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 src/test/resources/application-test.yml diff --git a/build.gradle b/build.gradle index e75a4d4..12243a6 100644 --- a/build.gradle +++ b/build.gradle @@ -37,4 +37,5 @@ dependencyManagement { tasks.named('test') { useJUnitPlatform() + systemProperty "spring.profiles.active", "test" } diff --git a/src/test/resources/application-test.yml b/src/test/resources/application-test.yml new file mode 100644 index 0000000..76a354f --- /dev/null +++ b/src/test/resources/application-test.yml @@ -0,0 +1,8 @@ +spring: + application: + name: discovery-service-test + +eureka: + client: + register-with-eureka: false + fetch-registry: false From aabe1d580d044db3fb85f764f9a3cd3f868ee3e6 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Mon, 22 Sep 2025 00:49:19 +0900 Subject: [PATCH 10/16] =?UTF-8?q?refactor:=20cd-dev=20=EC=9D=B4=EB=A6=84?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-dev.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-dev.yaml b/.github/workflows/cd-dev.yaml index 73215cc..4be9d4d 100644 --- a/.github/workflows/cd-dev.yaml +++ b/.github/workflows/cd-dev.yaml @@ -1,4 +1,4 @@ -name: unionmate dev CD 파이프라인 +name: discovery-service dev CD 파이프라인 on: workflow_run: From 709aea893bf1090d3e38dd8f1107512fba55b588 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Tue, 23 Sep 2025 23:39:48 +0900 Subject: [PATCH 11/16] =?UTF-8?q?refactor:=20cd-prod=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-prod.yaml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/cd-prod.yaml diff --git a/.github/workflows/cd-prod.yaml b/.github/workflows/cd-prod.yaml new file mode 100644 index 0000000..207f2ed --- /dev/null +++ b/.github/workflows/cd-prod.yaml @@ -0,0 +1,28 @@ +name: discovery-service prod CD 파이프라인 + +on: + workflow_run: + workflows: ["discovery-service CI pipeline"] + types: + - completed + +jobs: + deploy: + runs-on: ubuntu-latest + environment: dev + permissions: + contents: read + + steps: + - name: Docker 이미지 dev 서버 배포 + uses: appleboy/ssh-action@master + with: + host: ${{secrets.DEV_HOST}} + username: ${{secrets.DEV_USERNAME}} + key: ${{secrets.DEV_KEY}} + script: | + cd /home/ubuntu + docker rm -f discovery-service-prod || true + docker compose pull discovery-service-prod + docker compose up -d --no-deps --force-recreate --pull always discovery-service-prod + docker image prune -f From 84c1787b740b4d2a402c0ad5826f9ddb4c9c47a8 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Tue, 23 Sep 2025 23:40:28 +0900 Subject: [PATCH 12/16] =?UTF-8?q?refactor:=20cd-prod=20=EB=B3=80=EC=88=98?= =?UTF-8?q?=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-prod.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd-prod.yaml b/.github/workflows/cd-prod.yaml index 207f2ed..420c7f1 100644 --- a/.github/workflows/cd-prod.yaml +++ b/.github/workflows/cd-prod.yaml @@ -17,9 +17,9 @@ jobs: - name: Docker 이미지 dev 서버 배포 uses: appleboy/ssh-action@master with: - host: ${{secrets.DEV_HOST}} - username: ${{secrets.DEV_USERNAME}} - key: ${{secrets.DEV_KEY}} + host: ${{secrets.PROD_HOST}} + username: ${{secrets.PROD_USERNAME}} + key: ${{secrets.PROD_KEY}} script: | cd /home/ubuntu docker rm -f discovery-service-prod || true From 830c912e5ecf330b8e13f3df910ec5a59ff85c41 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Sun, 28 Sep 2025 16:58:41 +0900 Subject: [PATCH 13/16] =?UTF-8?q?refactor:=20=EB=A6=AC=EC=86=8C=EC=8A=A4?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-local.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 400d93d..630db0e 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -11,5 +11,5 @@ eureka: fetch-registry: false server: - wait-time-in-ms-when-sync-empty: 0 # ?? ????? ??? ?? ??? ?? ?? ?? ?? ?? - response-cache-update-interval-ms: 30000 # ??????? ??? ??? ?? ??? 30??? ?? + wait-time-in-ms-when-sync-empty: 0 # 초기 레지스트리 정보가 비어 있어도 지연 없이 즉시 서버 시작 + response-cache-update-interval-ms: 30000 # 클라이언트에게 제공할 서비스 목록 캐시를 30초마다 갱신 From bcab31eb1209e5f9a21452552559f86c8a8b171b Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Sun, 28 Sep 2025 22:17:46 +0900 Subject: [PATCH 14/16] =?UTF-8?q?refactor:=20cd-dev.yaml=20CI=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5=20=EC=8B=9C=20CD=20=EB=8F=99=EC=9E=91=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-dev.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd-dev.yaml b/.github/workflows/cd-dev.yaml index 4be9d4d..2b3f4c8 100644 --- a/.github/workflows/cd-dev.yaml +++ b/.github/workflows/cd-dev.yaml @@ -8,6 +8,7 @@ on: jobs: deploy: + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest environment: dev permissions: From fca3ad4f1c6ef6d4a8e96fbf6f33bfa420e13ef3 Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Sun, 28 Sep 2025 22:18:19 +0900 Subject: [PATCH 15/16] =?UTF-8?q?refactor:=20cd-prod.yaml=20CI=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5=20=EC=8B=9C=20CD=20=EB=8F=99=EC=9E=91=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-prod.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd-prod.yaml b/.github/workflows/cd-prod.yaml index 420c7f1..5cc4c5f 100644 --- a/.github/workflows/cd-prod.yaml +++ b/.github/workflows/cd-prod.yaml @@ -8,6 +8,7 @@ on: jobs: deploy: + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest environment: dev permissions: From 8b3bab060389e1aed6bbf22f432eed436d63072e Mon Sep 17 00:00:00 2001 From: 1winhyun Date: Sun, 28 Sep 2025 22:18:46 +0900 Subject: [PATCH 16/16] =?UTF-8?q?refactor:=20cd-prod.yaml=20environment=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd-prod.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-prod.yaml b/.github/workflows/cd-prod.yaml index 5cc4c5f..fcfebb5 100644 --- a/.github/workflows/cd-prod.yaml +++ b/.github/workflows/cd-prod.yaml @@ -10,7 +10,7 @@ jobs: deploy: if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest - environment: dev + environment: prod permissions: contents: read