[Render] 스프링부트 배포하기(jsp, war)

JEONG SUJIN·2025년 10월 10일
0

포트폴리오를 준비하다가 리액트는 vel? 배포를 쉽게 할 수 있는데 스프링부트는 무료배포가 없다고 알고있다가 render를 알게되서 적용해보기로 했다!!!!

그런데 내가 작업한 뷰가 jsp로 작업을 했는데

"Spring Boot에서 JSP를 쓸 경우, 내장 Tomcat의 리소스 처리 방식이 제한되어서 jar보다 war로 패키징하는 게 일반적"

Render는 “JAR 실행형” 서버처럼 작동하는데,
Tomcat 같은 서버 컨테이너를 직접 배포하지는 못해요.

그래서 war 파일을 빌드해서도 Render에서 직접 배포는 불가능
(단독 Tomcat 서버를 Render가 띄워주지 않음)

그래서 Docker로 감싸야 함

[Render 서버]
    ⤷ [Docker 컨테이너]
        ⤷ Tomcat 설치됨
        ⤷ 내 war 배포됨 (/usr/local/tomcat/webapps/ROOT.war)

도커파일이 필요한 이유

Render의 “native build”는 jar 실행만 지원하기 때문에,
JSP 프로젝트는 반드시 Dockerfile로 수동 배포해야 해요.

이부분을 모르고 있다가 검색하고 지피티한테 물어보면서 알게됨
로컬에서는 가능해서 처음엔 너무 당황했지만..!
배포하면서 많이배웠음 ㅎㅎ


공통

Render 계정 준비

https://render.com
접속 → GitHub 계정으로 로그인

https://render.com접속 → GitHub 계정으로 회원가입후
Get started free 클릭

"New +" → "Web Service" 선택

Connect GitHub

👉 연결 후 Blog_JPA 레포지토리 선택

GitHub 연결

GitHub 연동 허용 → 배포할 리포지토리 선택

Render가 자동으로 build.gradle 또는 pom.xml을 감지함 (Maven/Gradle 프로젝트 둘 다 가능)


배포 설정

Name my-spring-app 서비스 이름
Region Singapore or Oregon 가까운 리전 선택
Branch main 배포할 브랜치
Build Command ./mvnw clean package -DskipTests

⚠️ Maven일 때
Start Command java -jar target/*.jar 실행 명령어
Environment Docker or Native 대부분은 Native로 가능

⚠️ Gradle일 경우
Build Command → ./gradlew build -x test
Start Command → java -jar build/libs/*.jar

포트 설정

Spring Boot 기본 포트는 8080인데, Render에서는 환경 변수 PORT 를 사용해야 해.

application.properties에 아래 한 줄 추가

server.port=${PORT:8080}

환경 변수 설정 (DB 등)

Render의 "Environment" 탭에서 환경변수를 추가할 수 있어.
예를 들어:

Key Value
SPRING_PROFILES_ACTIVE prod
DB_URL jdbc:mysql://...
DB_USERNAME root
DB_PASSWORD mypassword

application.properties

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

업로드중..

자동 배포

GitHub에 코드 푸시하면 Render가 자동으로 다시 배포해 줘.
Logs 탭에서 배포 진행 상황과 오류 확인 가능.

만약에 실패했다면 아래 이미지처럼 로그에 내용이 나와서 왜 안되는지 체크하면된다.

성공 후 확인

업로드중..
Render가 배포되면 https://.onrender.com 주소가 생겨.
이 URL로 접속해서 앱이 잘 뜨는지 확인!
도메인이 https://blog-jpa.onrender.com부분으로 배포가 된게 확인되었다.!

profile
기록하기

0개의 댓글