Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

→ DB URL이 없다

yaml 다시 확인하기

main에서 보는 서브모듈이랑 prod 브랜치 서브모듈이 다름

내가 뭘 잘못 설정한거 같음

로컬에서 작업해보기

spring:
  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        show_sql: true
        format_sql: true
    open-in-view: false
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://ec2-13-125-141-181.ap-northeast-2.compute.amazonaws.com:3306/sulsulDB?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&allowMultiQueries=true&autoReconnection=true&characterEncoding=UTF-8
    username: ec2-user
    password: Sulsul1004~
cloud:
  aws:
    credentials:
      access-key: AKIAVPAOA5WKLKDZ5UFU
      secret-key: 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
    region:
      static: ap-northeast-2
    s3:
      bucket: sulsul-media-bucket
    stack:
      auto: false

도커파일에서 config를 바라보게 수정하기

# build
FROM openjdk:11-jdk AS build
WORKDIR /workspace/app
COPY . /workspace/app
RUN chmod +x gradlew

# 두 구문에서 수정
# 클래스패스 추가하기
RUN --mount=type=cache,target=/root/.gradle ./gradlew clean build
RUN mkdir -p build/dependency && (cd build/dependency; jar -xf ../libs/*.jar)

# run
# FROM zeze1004/sulsul:latest <- 기존 빌드 이미지 
FROM build 
VOLUME /tmp
ARG DEPENDENCY=/workspace/app/build/dependency
COPY --from=build ${DEPENDENCY} /app/lib
# ENTRYPOINT ["java","-jar","./build/libs/sulsul-0.0.1-SNAPSHOT.jar"]

클래스패스란?

dockerfile로 config 바라보게하는 법

  1. gradlew이 build할 때 세팅하는 법