Java
Java 및 Spring Boot 관련 문제 해결 가이드
준비 및 확인사항
- 8, 11, 17, 18, 19
로컬/테스트 환경과 클라우드타입에서 설정한 Java 버전이 상이한 경우 정상적으로 빌드되지 않을 수 있습니다.
Environment Variables(환경변수)에
SPRING_PROFILES_ACTIVE와 실행을 희망하는 profile 값을 입력하여 배포를 진행해주세요. profile에 따라 어플리케이션이 동작할 수 있도록application-<profile>.properties파일 혹은application.yml파일의 내용을 사전에 확인하세요.
Environment Variables(환경변수)에 TZ 와 설정을 희망하는 시간대 값을 입력하여 배포를 진행해주세요. 환경변수로 설정된 값은 JVM 구동 시 주입되어 Spring 어플리케이션에 적용됩니다.
- 예시
- TZ: Asia/Seoul
- TZ: America/New_York
- Linux 타임존 리스트
클라우드타입은 Jar로 패키징된 Spring 어플리케이션에 대해서 배포를 지원하며, War 패키지는 지원하지 않습니다.
서비스 배포 후 50X 발생 시, 실행 로그 결과에 따라 다음과 같은 케이스로 나눠 살펴볼 수 있습니다.
1️⃣ 어플리케이션이 정상적으로 구동되지 않고 예외가 발생하거나 서버가 종료된 경우
어플리케이션 구동에 필요한 패키지가 정상적으로 설치되지 않았거나 데이터베이스 연결이 실패했을 수 있습니다. 실행 로그의 에러 메세지를 기반으로 소스 내용 및 환경 변수 등을 확인해주세요.
2️⃣ 서버는 정상적으로 구동됐는데 권한과 관련된 에러가 발생하는 경우
언어 및 프레임워크 중 특정 도메인 규칙에 대하여 CORS 허용 규칙을 적용해주어야 접속가능한 것이 있습니다. 리버스 프록시 페이지를 참고해주세요.
3️⃣ 빌드가 정상적으로 완료 되었는데 상태가 ‘시작중’에서 바뀌지 않고 생성된 URL에 접속해도 503 페이지만 뜨는 경우
루트 디렉토리가 아닌 서브디렉토리에 코드가 존재하는 경우 이러한 상황이 발생할 수 있습니다. 사용자의 저장소를 디렉토리를 확인하고, 해당되는 경우 서브디렉토리 설정을 추가해주세요.
4️⃣ 서버는 정상적으로 구동됐는데 접속시 에러창이 뜨고 실행 로그에 아무런 반응이 없는 경우
소스 코드에 설정된 포트가 배포시에 작성하신 포트와 불일치할 경우일 확률이 높습니다. 입력한 포트를 확인해주세요.