From 95fc10703bf4f115f28d14d76c1a87ec92f99e74 Mon Sep 17 00:00:00 2001 From: Donghun Shin Date: Thu, 20 Jul 2023 16:35:51 +0900 Subject: [PATCH] =?UTF-8?q?infra:=20=EB=B0=B1=EC=97=94=EB=93=9C=20cicd=20?= =?UTF-8?q?=ED=99=98=EA=B2=BD=20=EC=84=A4=EC=A0=95=20(#142)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: truncate 를 통한 테스트 데이터 초기화 (#139) * chore: application.yml 배포환경별 설정 (#139) * fix: ddl-auto 수정 (#139) * fix: application yml 변수 설정 (#139) * feat: 위도, 경도 반환 타입을 Double로 변경 (#139) * infra: 백엔드 CI 작성 (#139) * infra: 백엔드 CI 오류 수정 (#139) * infra: workflow 수정 (#139) * Update backend-dev-cd.yml --------- Co-authored-by: Taeyeon <90550065+TaeyeonRoyce@users.noreply.github.com> --- .github/workflows/backend-ci.yml | 45 +++++++++++++++++++ .github/workflows/backend-dev-cd.yml | 18 ++++++++ .../dto/RestaurantQueryResponse.java | 8 ++-- .../src/main/resources/application-dev.yml | 14 +++--- .../src/main/resources/application-prod.yml | 10 +++++ .../restaurant/fixture/RestaurantFixture.java | 4 +- backend/src/test/resources/application.yml | 7 --- 7 files changed, 84 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/backend-ci.yml create mode 100644 .github/workflows/backend-dev-cd.yml diff --git a/.github/workflows/backend-ci.yml b/.github/workflows/backend-ci.yml new file mode 100644 index 000000000..4cc1ad338 --- /dev/null +++ b/.github/workflows/backend-ci.yml @@ -0,0 +1,45 @@ +name: ✨ Celuveat Backend CI ✨ + +on: + push: + branches: [ "develop-backend" ] + pull_request: + branches: [ "develop-backend" ] + +permissions: + checks: write + pull-requests: write + +jobs: + backend-test: + runs-on: ubuntu-latest + env: + working-directory: ./backend + + steps: + - uses: actions/checkout@v3 + - name: ✨ JDK 17 설정 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: ✨ Gradlew 권한 설정 + run: chmod +x ./gradlew + working-directory: ${{ env.working-directory }} + + - name: ✨ 테스트 진행 + run: ./gradlew test + working-directory: ${{ env.working-directory }} + + - name: ✨ 테스트 결과 Report + uses: EnricoMi/publish-unit-test-result-action@v2 + if: ${{ always() }} + with: + files: '**/build/test-results/**/*.xml' + + - name: ✨ 테스트 실패 Comment + uses: mikepenz/action-junit-report@v3 + if: always() + with: + report_paths: '**/build/test-results/test/TEST-*.xml' diff --git a/.github/workflows/backend-dev-cd.yml b/.github/workflows/backend-dev-cd.yml new file mode 100644 index 000000000..0409965a6 --- /dev/null +++ b/.github/workflows/backend-dev-cd.yml @@ -0,0 +1,18 @@ +name: ✨ Celuveat backend DEV CD ✨ + +on: + push: + branches: + - develop-backend + paths: + - 'backend/**' + +jobs: + deploy-backend: + runs-on: self-hosted + + steps: + - name: ✨ Run Backend Deploy Script + run: | + cd ~ + sudo sh deploy-backend.sh diff --git a/backend/src/main/java/com/celuveat/restaurant/application/dto/RestaurantQueryResponse.java b/backend/src/main/java/com/celuveat/restaurant/application/dto/RestaurantQueryResponse.java index 4ccc8c9cf..4e3fe24fb 100644 --- a/backend/src/main/java/com/celuveat/restaurant/application/dto/RestaurantQueryResponse.java +++ b/backend/src/main/java/com/celuveat/restaurant/application/dto/RestaurantQueryResponse.java @@ -10,8 +10,8 @@ public record RestaurantQueryResponse( String name, String category, String roadAddress, - String latitude, - String longitude, + Double latitude, + Double longitude, String phoneNumber, String naverMapUrl, List celebs, @@ -28,8 +28,8 @@ public static RestaurantQueryResponse from( restaurant.name(), restaurant.category(), restaurant.roadAddress(), - restaurant.latitude(), - restaurant.longitude(), + Double.valueOf(restaurant.latitude()), + Double.valueOf(restaurant.longitude()), restaurant.phoneNumber(), restaurant.naverMapUrl(), celebs.stream().map(CelebQueryResponse::of).toList(), diff --git a/backend/src/main/resources/application-dev.yml b/backend/src/main/resources/application-dev.yml index 29a12561e..573039768 100644 --- a/backend/src/main/resources/application-dev.yml +++ b/backend/src/main/resources/application-dev.yml @@ -5,14 +5,10 @@ logging: spring: datasource: - url: jdbc:h2:mem:testdb;MODE=MySQL - username: sa - password: - - h2: - console: - enabled: true - path: /h2-console + url: ${DB_URL} + username: ${DB_USERNAME} + password: ${DB_PASSWORD} + driver-class-name: ${DB_DRIVER_CLASS_NAME} jpa: show-sql: true @@ -23,4 +19,4 @@ spring: highlight_sql: true hibernate: - ddl-auto: create + ddl-auto: validate diff --git a/backend/src/main/resources/application-prod.yml b/backend/src/main/resources/application-prod.yml index e69de29bb..4f7f6665b 100644 --- a/backend/src/main/resources/application-prod.yml +++ b/backend/src/main/resources/application-prod.yml @@ -0,0 +1,10 @@ +spring: + datasource: + url: ${DB_URL} + username: ${DB_USERNAME} + password: ${DB_PASSWORD} + driver-class-name: ${DB_DRIVER_CLASS_NAME} + + jpa: + hibernate: + ddl-auto: validate diff --git a/backend/src/test/java/com/celuveat/restaurant/fixture/RestaurantFixture.java b/backend/src/test/java/com/celuveat/restaurant/fixture/RestaurantFixture.java index 4548c4fb3..876a1a62b 100644 --- a/backend/src/test/java/com/celuveat/restaurant/fixture/RestaurantFixture.java +++ b/backend/src/test/java/com/celuveat/restaurant/fixture/RestaurantFixture.java @@ -11,8 +11,8 @@ public class RestaurantFixture { .naverMapUrl(name) .phoneNumber(name) .category(name) - .latitude(name) - .longitude(name) + .latitude("37.5206993") + .longitude("127.019975") .build(); } } diff --git a/backend/src/test/resources/application.yml b/backend/src/test/resources/application.yml index 03c9dd9ef..f57190753 100644 --- a/backend/src/test/resources/application.yml +++ b/backend/src/test/resources/application.yml @@ -1,7 +1,6 @@ logging: level: org.hibernate.orm.jdbc.bind: TRACE - org.apache.coyote.http11: debug #Http 요청정보 로그 남기기 spring: profiles: @@ -12,11 +11,6 @@ spring: username: sa password: - h2: - console: - enabled: true - path: /h2-console - jpa: show-sql: true properties: @@ -25,6 +19,5 @@ spring: use_sql_comments: true highlight_sql: true - hibernate: ddl-auto: create