From e78cdf05cf48d4f7c037bc0fd1851e378a6230ba Mon Sep 17 00:00:00 2001 From: seheonnn Date: Thu, 23 May 2024 15:24:58 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E2=9C=A8=20feat:=20=EC=8A=A4=EC=BC=80?= =?UTF-8?q?=EC=A4=84=EB=9F=AC=20=EA=B8=B0=EB=B3=B8=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weather-service/build.gradle | 1 + .../WeatherServiceApplication.java | 2 ++ .../scheduler/SchedulerConfig.java | 28 +++++++++++++++++++ .../service/WeatherService.java | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 weather-service/src/main/java/com/waither/weatherservice/scheduler/SchedulerConfig.java diff --git a/weather-service/build.gradle b/weather-service/build.gradle index b8f2ebb3..776b9042 100644 --- a/weather-service/build.gradle +++ b/weather-service/build.gradle @@ -25,6 +25,7 @@ dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' + annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" testImplementation 'org.springframework.boot:spring-boot-starter-test' diff --git a/weather-service/src/main/java/com/waither/weatherservice/WeatherServiceApplication.java b/weather-service/src/main/java/com/waither/weatherservice/WeatherServiceApplication.java index d49d48ef..16fef5c2 100644 --- a/weather-service/src/main/java/com/waither/weatherservice/WeatherServiceApplication.java +++ b/weather-service/src/main/java/com/waither/weatherservice/WeatherServiceApplication.java @@ -3,7 +3,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.redis.repository.configuration.EnableRedisRepositories; +import org.springframework.scheduling.annotation.EnableScheduling; +@EnableScheduling @SpringBootApplication @EnableRedisRepositories public class WeatherServiceApplication { diff --git a/weather-service/src/main/java/com/waither/weatherservice/scheduler/SchedulerConfig.java b/weather-service/src/main/java/com/waither/weatherservice/scheduler/SchedulerConfig.java new file mode 100644 index 00000000..1a95564e --- /dev/null +++ b/weather-service/src/main/java/com/waither/weatherservice/scheduler/SchedulerConfig.java @@ -0,0 +1,28 @@ +package com.waither.weatherservice.scheduler; + +import java.net.URISyntaxException; +import java.time.LocalDateTime; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.scheduling.annotation.Scheduled; + +import com.waither.weatherservice.service.WeatherService; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@RequiredArgsConstructor +@ConfigurationProperties +public class SchedulerConfig { + + private final WeatherService weatherService; + @Scheduled(cron = "0 0 14,17,20 * * *") + public void createDailyWeather() throws URISyntaxException { + + LocalDateTime now = LocalDateTime.now(); + String[] dateTime = weatherService.convertLocalDateTimeToString(now).split("_"); + // TODO 지역 DB 정리 후 변경 예정 + weatherService.createDailyWeather(55, 127, dateTime[0], dateTime[1]); + } +} diff --git a/weather-service/src/main/java/com/waither/weatherservice/service/WeatherService.java b/weather-service/src/main/java/com/waither/weatherservice/service/WeatherService.java index 317010a1..d2bbe5d6 100644 --- a/weather-service/src/main/java/com/waither/weatherservice/service/WeatherService.java +++ b/weather-service/src/main/java/com/waither/weatherservice/service/WeatherService.java @@ -77,7 +77,7 @@ public void createExpectedWeather( public void createDailyWeather(int nx, int ny, String baseDate, - String baseTime) throws URISyntaxException, JsonProcessingException { + String baseTime) throws URISyntaxException { // Base_time : 0200, 0500, 0800, 1100, 1400, 1700, 2000, 2300 업데이트 (1일 8회) List items = openApiUtil.callForeCastApi(nx, ny, baseDate, baseTime, 350, From f96063489605044e89222f0d0c1fba9d94d7a349 Mon Sep 17 00:00:00 2001 From: seheonnn Date: Thu, 23 May 2024 23:15:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E2=9C=A8=20feat:=20=EC=A7=80=EC=97=AD=20?= =?UTF-8?q?=EC=97=94=ED=8B=B0=ED=8B=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weather-service/.gitignore | 2 ++ weather-service/build.gradle | 4 ++- weather-service/docker-compose.yml | 11 ++++++ .../waither/weatherservice/entity/Region.java | 34 ++++++++++++++++++ .../src/main/resources/api/Region.xlsx | Bin 63838 -> 63340 bytes 5 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 weather-service/src/main/java/com/waither/weatherservice/entity/Region.java diff --git a/weather-service/.gitignore b/weather-service/.gitignore index 61a981b4..758b62e7 100644 --- a/weather-service/.gitignore +++ b/weather-service/.gitignore @@ -1,4 +1,6 @@ *-secret.yml +*.Ds_Store +**/data/mysql/ HELP.md .gradle diff --git a/weather-service/build.gradle b/weather-service/build.gradle index 776b9042..e5ec4556 100644 --- a/weather-service/build.gradle +++ b/weather-service/build.gradle @@ -22,12 +22,14 @@ ext { dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" - testImplementation 'org.springframework.boot:spring-boot-starter-test' + // DB + runtimeOnly 'com.mysql:mysql-connector-j' //Webflux implementation 'org.springframework.boot:spring-boot-starter-webflux' diff --git a/weather-service/docker-compose.yml b/weather-service/docker-compose.yml index d178146d..653f0456 100644 --- a/weather-service/docker-compose.yml +++ b/weather-service/docker-compose.yml @@ -1,6 +1,17 @@ version: '3' services: + mysql: + image: mysql:latest + container_name: waither + environment: + MYSQL_ROOT_USER: root + MYSQL_ROOT_PASSWORD: root1234! + MYSQL_DATABASE: waither + ports: + - "3306:3306" + volumes: + - ./data/mysql:/var/lib/mysql redis: image: redis:latest ports: diff --git a/weather-service/src/main/java/com/waither/weatherservice/entity/Region.java b/weather-service/src/main/java/com/waither/weatherservice/entity/Region.java new file mode 100644 index 00000000..4c16386d --- /dev/null +++ b/weather-service/src/main/java/com/waither/weatherservice/entity/Region.java @@ -0,0 +1,34 @@ +package com.waither.weatherservice.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Builder +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@AllArgsConstructor(access = AccessLevel.PRIVATE) +@Getter +@Entity +@Table(name = "region") +public class Region { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String stnID; + private String stnKo; + private String stnSp; + private double longitude; + private double latitude; + private String fctId; + private String wrnId; + private String wrnKo; + private String sfcStn; +} diff --git a/weather-service/src/main/resources/api/Region.xlsx b/weather-service/src/main/resources/api/Region.xlsx index 6f2a44ee803e469fe8bb25f779ff254adf3baff6..092398d0d5adffbeb88575a91a59197665c3e9ad 100644 GIT binary patch delta 58694 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 delta 59162 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 Date: Mon, 27 May 2024 21:29:27 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=93=9D=20docs:=20CI/CD=20=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=88=98=EC=A0=95=20(#80)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd.yml | 40 ++++++---- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 60 ++++++++++++++- docker-compose.yml | 73 +++++++++++-------- noti-service/src/main/resources/bootstrap.yml | 4 +- script/common.sh | 9 +++ script/deploy.sh | 8 +- user-service/src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- 9 files changed, 144 insertions(+), 62 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 09774e92..926871a5 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -26,8 +26,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 - with: - ref: prod #Setting JDK - name: Set up JDK 17 @@ -47,13 +45,13 @@ jobs: chmod +x ./weather-service/gradlew #Setting yml - - name: Settings for config service - run: | - cd ./config-service/src/main/resources - touch ./bootstrap.yml - echo "${{ secrets.CONFIG_APPLICATION_YML }}" > ./bootstrap.yml - cd - +# - name: Settings for config service +# run: | +# cd ./config-service/src/main/resources +# touch ./bootstrap.yml +# echo "${{ secrets.CONFIG_APPLICATION_YML }}" > ./bootstrap.yml +# cat bootstrap.yml + # DockerHub Login - name: Docker Hub Login uses: docker/login-action@v2 @@ -87,7 +85,7 @@ jobs: run: | cd apiGateway-service ./gradlew clean build -x test - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-gateway . + docker build --no-cache -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-gateway . docker push ${{ secrets.DOCKERHUB_USERNAME }}/waither-gateway cd .. @@ -104,8 +102,9 @@ jobs: - name: Build with Gradle - noti-service run: | cd noti-service + cat src/main/resources/bootstrap.yml ./gradlew clean build -x test - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-noti . + docker build --no-cache -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-noti . docker push ${{ secrets.DOCKERHUB_USERNAME }}/waither-noti cd .. @@ -114,7 +113,7 @@ jobs: run: | cd user-service ./gradlew clean build -x test - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-user . + docker build --no-cache -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-user . docker push ${{ secrets.DOCKERHUB_USERNAME }}/waither-user cd .. @@ -123,7 +122,7 @@ jobs: run: | cd weather-service ./gradlew clean build -x test - docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-weather . + docker build --no-cache -t ${{ secrets.DOCKERHUB_USERNAME }}/waither-weather . docker push ${{ secrets.DOCKERHUB_USERNAME }}/waither-weather cd .. @@ -147,8 +146,17 @@ jobs: export CONFIG_PASSPHRASE=${{ secrets.CONFIG_PASSPHRASE }} export DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }} - bash /home/docker_init.sh - bash /home/common.sh - bash /home/deploy.sh + cd /home + + docker-compose pull + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/waither-config + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/waither-gateway + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/waither-noti + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/waither-user + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/waither-weather + + bash ./docker_init.sh + bash ./common.sh + bash ./deploy.sh docker image prune -f diff --git a/apiGateway-service/src/main/resources/bootstrap.yml b/apiGateway-service/src/main/resources/bootstrap.yml index f36f218a..7a865b57 100644 --- a/apiGateway-service/src/main/resources/bootstrap.yml +++ b/apiGateway-service/src/main/resources/bootstrap.yml @@ -8,10 +8,10 @@ spring: active: dev cloud: config: - uri: http://config:8888 + uri: http://localhost:8888 name: database-apiGateway, redis, jwt kafka: - bootstrap-servers: "localhost:9092" + bootstrap-servers: "http://localhost:9092" consumer: group-id: "GroupId" diff --git a/config-service/src/main/resources/bootstrap.yml b/config-service/src/main/resources/bootstrap.yml index f312c907..785bba95 100644 --- a/config-service/src/main/resources/bootstrap.yml +++ b/config-service/src/main/resources/bootstrap.yml @@ -3,9 +3,9 @@ server: spring: profiles: - active: dev + active: prod application: - name: config-service + name: config-services cloud: config: server: @@ -13,4 +13,58 @@ spring: uri: ${CONFIG_GIT_URI} ignore-local-ssh-settings: true passphrase: ${CONFIG_PASSPHRASE} - private-key: ${CONFIG_PRIVATE_KEY} + private-key: | + -----BEGIN RSA PRIVATE KEY----- + Proc-Type: 4,ENCRYPTED + DEK-Info: AES-128-CBC,58151ECC53694263F35EEA88FBFA6406 + + 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 + -----END RSA PRIVATE KEY----- diff --git a/docker-compose.yml b/docker-compose.yml index 68baabe3..aeb998bb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,36 +2,31 @@ version: '3' services: -# nginx: -# container_name: nginx -# image: nginx:latest -# ports: -# - "80:80" -# volumes: -# - /home/ec2-user/nginx.conf:/etc/nginx/nginx.conf -# depends_on: -# - "db" -# restart: always #항상 재실행 - api-gateway: container_name: api-gateway - image: ${DOCKERHUB_USERNAME}/waither-gateway - expose: - - "8000" + image: ${DOCKERHUB_USERNAME}/waither-gateway:latest + network_mode: host + depends_on: + - config + ports: + - "8000:8000" # restart: always restart: no volumes: - /home/ec2-user/logs/api-gateway:/logs + config: container_name: config - image: ${DOCKERHUB_USERNAME}/waither-config - expose: - - "8888" + image: ${DOCKERHUB_USERNAME}/waither-config:latest + network_mode: host + ports: + - "8888:8888" + depends_on: + - eureka environment: CONFIG_GIT_URI : ${CONFIG_GIT_URI} CONFIG_PASSPHRASE : ${CONFIG_PASSPHRASE} -# CONFIG_PRIVATE_KEY_DIR : ${CONFIG_PRIVATE_KEY_DIR} # restart: always restart: no volumes: @@ -39,9 +34,10 @@ services: eureka: container_name: eureka - image: ${DOCKERHUB_USERNAME}/waither-eureka - expose: - - "8761" + image: ${DOCKERHUB_USERNAME}/waither-eureka:latest + network_mode: host + ports: + - "8761:8761" # restart: always restart: no volumes: @@ -49,9 +45,12 @@ services: user-service: container_name: user-service - image: ${DOCKERHUB_USERNAME}/waither-user - expose: - - "8080" + image: ${DOCKERHUB_USERNAME}/waither-user:latest + network_mode: host + depends_on: + - config + ports: + - "8080:8080" # restart: unless-stopped #수동으로 중지되지 않는 이상 항상 재실행 restart: no volumes: @@ -59,19 +58,25 @@ services: weather-service: container_name: weather-service - image: ${DOCKERHUB_USERNAME}/waither-weather - expose: - - "8081" + image: ${DOCKERHUB_USERNAME}/waither-weather:latest + network_mode: host + depends_on: + - config + ports: + - "8081:8081" # restart: unless-stopped restart: no volumes: - - /home/ec2-user/logs/weather-service:/logs + - /home/ec2-user/logs/weather-service:/logs:latest noti-service: container_name: noti-service - image: ${DOCKERHUB_USERNAME}/waither-noti - expose: - - "8082" + image: ${DOCKERHUB_USERNAME}/waither-noti:latest + network_mode: host + depends_on: + - config + ports: + - "8082:8082" # restart: unless-stopped restart: no volumes: @@ -93,3 +98,9 @@ services: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock + + redis: + image: redis + container_name: redis + ports: + - "6379:6379" diff --git a/noti-service/src/main/resources/bootstrap.yml b/noti-service/src/main/resources/bootstrap.yml index 71055d41..f16d9764 100644 --- a/noti-service/src/main/resources/bootstrap.yml +++ b/noti-service/src/main/resources/bootstrap.yml @@ -8,7 +8,7 @@ spring: active: dev cloud: config: - uri: http://config:8888 + uri: http://localhost:8888 name: database-noti,redis kafka: bootstrap-servers: "localhost:9092" @@ -19,4 +19,4 @@ eureka: register-with-eureka: true # register to eureka server fetch-registry: true # Getting instances' information from eureka server service-url: - defaultZone : http://127.0.0.1:8761/eureka #Eureka Server's address \ No newline at end of file + defaultZone : http://localhost:8761/eureka #Eureka Server's address \ No newline at end of file diff --git a/script/common.sh b/script/common.sh index 25f2e6ac..c4825a3d 100644 --- a/script/common.sh +++ b/script/common.sh @@ -3,6 +3,7 @@ RUNNING_EUREKA=$(docker ps | grep eureka) RUNNING_CONFIG=$(docker ps | grep config) RUNNING_ZOOKEEPER=$(docker ps | grep zookeeper) RUNNING_KAFKA=$(docker ps | grep kafka) +RUNNING_REDIS=$(docker ps | grep redis) # Eureka 검색 if [ -z "$RUNNING_EUREKA" ]; then @@ -22,6 +23,14 @@ else echo "Config Service is already running" fi +# Redis 검색 +if [ -z "$RUNNING_REDIS" ]; then + echo "Starting Redis ..." + docker-compose -f /home/docker-compose.yml up -d redis +else + echo "Redis is already running" +fi + # Zookeeper 검색 if [ -z "$RUNNING_ZOOKEEPER" ]; then echo "Starting Zookeeper ..." diff --git a/script/deploy.sh b/script/deploy.sh index 188626f8..76bc3064 100644 --- a/script/deploy.sh +++ b/script/deploy.sh @@ -10,10 +10,10 @@ # -d : detached 모드. 컨테이너를 백그라운드에서 실행 echo "api-gateway server start..." -docker-compose -f /home/docker-compose.yml up -d api-gateway +docker-compose -f /home/docker-compose.yml up -d api-gateway --build echo "noti-service server start..." -docker-compose -f /home/docker-compose.yml up -d noti-service +docker-compose -f /home/docker-compose.yml up -d noti-service --build echo "user-service server start..." -docker-compose -f /home/docker-compose.yml up -d user-service +docker-compose -f /home/docker-compose.yml up -d user-service --build echo "weather-service server start..." -docker-compose -f /home/docker-compose.yml up -d weather-service +docker-compose -f /home/docker-compose.yml up -d weather-service --build diff --git a/user-service/src/main/resources/bootstrap.yml b/user-service/src/main/resources/bootstrap.yml index c7977aa7..305e9c55 100644 --- a/user-service/src/main/resources/bootstrap.yml +++ b/user-service/src/main/resources/bootstrap.yml @@ -8,7 +8,7 @@ spring: active: dev cloud: config: - uri: http://config:8888 + uri: http://localhost:8888 name: database-user,redis, jwt, smtp, apiDocs-user kafka: bootstrap-servers: "localhost:9092" @@ -21,7 +21,7 @@ eureka: register-with-eureka: true # register to eureka server fetch-registry: true # Getting instances' information from eureka server service-url: - defaultZone : http://127.0.0.1:8761/eureka #Eureka Server's address + defaultZone : http://localhost:8761/eureka #Eureka Server's address #management: # Actuator # endpoints: diff --git a/weather-service/src/main/resources/bootstrap.yml b/weather-service/src/main/resources/bootstrap.yml index 4abbfad6..9b2bc164 100644 --- a/weather-service/src/main/resources/bootstrap.yml +++ b/weather-service/src/main/resources/bootstrap.yml @@ -8,7 +8,7 @@ spring: active: dev cloud: config: - uri: http://config:8888 + uri: http://localhost:8888 name: database-weather kafka: bootstrap-servers: "localhost:9092" @@ -21,7 +21,7 @@ eureka: register-with-eureka: true # register to eureka server fetch-registry: true # Getting instances' information from eureka server service-url: - defaultZone : http://127.0.0.1:8761/eureka #Eureka Server's address + defaultZone : http://localhost:8761/eureka #Eureka Server's address management: # Actuator endpoints: