트러블 슈팅

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

위 오류가 나타났는데... 어디서부터 잘못됐는지 파악하기 위해 봤는데 cicd.yaml 내 Arfifact 파일이 부분에서 오류가 있다는 것을 발견했다.

1. 경로 문제

  • 처음 발견한 문제는 경로 문제였다.
    PROJECT JAR 파일 위치를 입력할 때, 경로를 적지 않아서 파일을 찾을 수 없어 Arfifact 부분의 오류였다.

기존 내용

- name: Upload build artifact
  uses: actions/upload-artifact@v4
  with:
     name: project-0.0.1-SNAPSHOT.jar
     path: ${{ env.PROJECT_JAR_NAME }}

변경 내용

- name: Upload build artifact
  uses: actions/upload-artifact@v4
  with:
     name: project-0.0.1-SNAPSHOT.jar
     path: build/libs/${{ env.PROJECT_JAR_NAME }}
  • 위처럼 경로를 상세하게 써줘야 Arfifact 부분이 비었다고 오류가 나지 않았다.

기존 내용

env:
	DOCKER_IMAGE_NAME: projects

...

docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/${{ DOCKER_IMAGE_NAME }}:latest

변경 내용

env:
	DOCKER_IMAGE_NAME: projects

...

docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/${{ env.DOCKER_IMAGE_NAME }}:latest

2. Dockerfile

  • 제일 큰 문제는 여기있었다..
    바로 profile을 잘못 설정했기 때문인데...

기존 내용

FROM openjdk:17-alpine

COPY build/libs/*.jar app.jar

ENV PROFILE_NAME raccoon

ENTRYPOINT ["java", "-Dspring.profiles.active=${PROFILE_NAME}", "-jar", "app.jar"]
  • 내 프로젝트의 Profile은 dev와 product로 나눴는데, 여기서 raccoon이 들어가서 없는 프로필을 실행해서 올리자마자 도커가 내려간 것이다...
    아이고오..두야

변경 내용

FROM openjdk:17-alpine

COPY build/libs/*.jar app.jar

ENV PROFILE_NAME dev

ENTRYPOINT ["java", "-Dspring.profiles.active=${PROFILE_NAME}", "-jar", "app.jar"]

이 문제로 인해... 2일 동안 어떤 고생을 햇는지..참
그래도 이 계기로 CI/CD 가 어떤 단계를 거치고 어떻게 설정해야하는지 몸으로 견디니 좀 이해가 잘 된거같다

처음 성공한 CI/CD 라서 머리는 행복하지만 몸은 힘들기에 기쁨은 내일로 잠시 미뤄야겠다..ㅎ

profile
Junior Backend Developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN