AWS RDS와 EC2 SpringApp 연결(Error)

덤벨로퍼·2024년 2월 28일
0

개인공부

목록 보기
5/11
post-thumbnail

1. RDS - mysql 생성

2. 로컬에서 spring app과 연동 (Test용)


server:
  port: 80    # server.port=80
  servlet:
    context-path: /probono  # server.servlet.context-path=/probono
    
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: '계정'
    password: '비번'
    url: jdbc:mysql://<엔드포인트>:3306/<데이터베이스>?useSSL=false&allowPublicKeyRetrieval=true
   
  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL8Dialect
    generate-ddl: true
    hibernate:
      ddl-auto: none
    show-sql: true
  mvc:        # jsp 사용을 위한 필수 설정, WEB-INF 폴더 직접 만들고, pom.xml에 설정, ProbonoController의 메소드 setViewName()확인하기
    view:
      prefix: /WEB-INF/    # spring.mvc.view.prefix: /WEB-INF/
      suffix: .jsp         # spring.mvc.view.suffix: .jsp

3. DBeaver에서 로컬에서 실행 시 정상작동 확인

로컬에서 db에 잘 연결되는 것을 확인 할 수 있고 로컬에서 Spring app 이 정상작동 하는것을 확인!
로컬 git bash 에서

./gradlew build 

명령어로 빌드가 성공까지 확인해야함

4. CI를 위해 젠킨스와 Github 레포지토리 연동

Repository 생성

echo "# probono" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/Dumbveloper/probono.git
git push -u origin main

gradlew 에 실행 권한을 줘야 젠킨스에서 빌드 가능!!

 ls -al
 git ls-tree HEAD
 git update-index --add --chmod=+x gradlew
 git status
 git add .
 git commit -m "update gradlew chmod"
 git psuh
 
 ---
 100755 blob 1aa94a4269074199e6ed2c37e8db3e0826030965    gradlew
 -rwxr-xr-x 1 Admin 197121 8692 Feb 16 16:22 gradlew*

파이프라인 구성

pipeline {
    agent any

    stages {
        stage('git 연동') {
            steps {
                echo 'start **********'
                git branch: 'main', 
                credentialsId: 'id', 
                url: 'github url'
                echo 'end **********'
            }
        }
        stage('ist view'){
            steps{
                echo 'view list *****'
                sh ''' whoami '''
                sh ''' pwd '''
                sh ''' ls -al'''
                echo 'view list *****'
            }
        }
        stage('build'){
            steps{
                echo 'build start *****'
                sh ''' ./gradlew build'''
                echo 'build end *****'
            }
        }
    }
}

build stage 에서 Error 발생!

log를 봤더니...

  Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException at DataSourceProperties.java:186

어라? 이건 DB와 연동 실패했을때 뜨는 오륜데..?
-> 데이터베이스 연결 구성 확인해서 해결하던 오류

  • application.properties 또는 application.yml 파일에서 데이터베이스 연결 구성을 확인
  • 데이터베이스 URL, 사용자 이름, 암호 등이 올바른지 확인

하지만 로컬에서 이미 실행과 build까지 마쳤는데!?

😢생각해보니 github 에 프로젝트를 올릴때 gitignore 파일로 yml을 제외하고 올리게 했음!
해결방안

1. private 레포지토리를 통해 실행
2. 서버에 yml 올리고 사용

profile
💪 점진적 과부하로 성장하는 개발자

0개의 댓글