본문 바로가기
클라우드 서비스/cloudtype

cloudtype을 이용해 스프링 부트 + mariaDB 서버를 무료로 배포하기

반응형

아마존 프리티어가 끝나가면서 학생인 저는 무료로 배포할 수 있던 사이트를 찾던 중 클라우드타입이라는 서비스를 찾았습니다.

 

https://cloudtype.io/

 

모두의 플랫폼팀, 클라우드타입

클라우드타입은 클라우드 기반 애플리케이션을 빠르게 개발하고 배포할 수 있는 클라우드 애플리케이션 플랫폼입니다.

cloudtype.io

 

 

현재 클라우드타입에서 제공하는 클라우드 서버사양과 기능은 아래에 사진에 있습니다.

 

무료 제공

 

클라우드타입에서는 프론트 서버, 백엔드 서버, 데이터베이스 서버를 제공해주는데 사이트에서 정확한 프레임워크를 확인할 수 있습니다.

또한 깃허브를 이용해 쉽게 배포할 수 있습니다.

이번 포스트에서는 스프링부트와 mariaDB, 깃허브를 이용해 서비스를 배포해보겠습니다.

만약 이미 h2나 mysql 로 만들었을 경우 아래에 스프링 부트 설정부분을 읽어보시면서 의존성과 데이터베이스 정보를 바꿔주시고 mariaDB로 이미 만들었을 경우 배포하는 법 부터 보시면 됩니다. 

 

스프링 부트 설정

먼저 마리아 데이터베이스를 이용하기 위해 의존성을 추가해줘야 합니다.

MAVEN  사용 시  pom.xml에 추가

<!-- mariadb -->
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>2.7.4</version>
</dependency>

gradle  사용 시  build.gradle에 추가

runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:2.7.4'

 

의존성을 추가했으니 이제 데이터베이스의 정보를 application.properties 혹은 application.yml에 설정을 추가해야 합니다. 여기서 중요한 것은 cloudtype에서는 환경변수를 쉽게 등록할 수 있기 때문에 전역환경변수로 데이터베이스를 설정하겠습니다.

application.properties 사용할 경우

spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://${DB_url}:${DB_port}/${DB_dataBaseName}
spring.datasource.username=${DB_name}
spring.datasource.password=${DB_password}

application.yml 사용 할 때

spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://${DB_url}:${DB_port}/{DB_dataBaseName}?characterEncoding=UTF-8&serverTimezone=UTC
    username: ${DB_name}
    password: ${DB_password}

 

이제 깃허브에 배포할 파일을 업로드 시켜주신 뒤 클라우드타입 사이트에 접속해 회원가입을 해주시고 깃허브와 연동을 해줍니다.

 

클라우드타입에 서버 배포하기

프로젝트에서 + 기호를 눌러 새 프로젝트를 생성합니다.

 

마리아 DB 생성

 

먼저 마리아 DB를 검색해줍니다.

마리아 DB 검색

 

마리아 DB 설정 

Root Password : 스프링 부트에 ${DB_password} 해당하는 것, 비밀번호를 설정해주시면 됩니다.

DataBase Name : 스프링 부트에 ${DB_dataBaseName} 해당하는 것, 데이터베이스 이름을 설정해주시면 됩니다.

username, Password 는 빈칸으로 설정해준 뒤 배포하기를 클릭합니다.

마리아 DB 셋팅

정상적으로 배포된 것을 확인할 수 있습니다. 이제 환경변수 설정하기 위해 mariaDB에 주소를 복사한 뒤 스프링 부트를 프로젝트에서 생성합니다.

 

스프링 부트 배포하기

마리아 DB 옆에 + 버튼을 클릭해 스프링 부트를 검색해 클릭합니다.

 

해당하는 깃허브 주소를 선택한 후 다음과 같이 설정하면 됩니다.

서브 디렉토리 : 만약 최상위 폴더에 build 파일이 아닐 경우 build 폴더가 있는 곳으로 이동해야 합니다. 저는 4개의 스프링 프로젝트가 최상위 폴더이므로 배포하려는 폴더로 이동하기 위해 서브 디렉토리를 설정하였습니다.

애플리케이션 설정 : 해당 스프링부트 자바 버전을 선택해주세요.

Environment variables : 환경변수를 설정하는 칸으로 앞에서 생성한 마리아 DB를 설정해주시면 됩니다. 앞에서 주소복사를 하게 될 경우 url:port 형태인데 DB_url에는 url 주소만 DB_port 부분에는 port만 입력해주셔야 합니다. 이제 환경변수 설정까지 했다면 배포하기 버튼을 누르고 기다립시다.

 

 

배포확인

해당 배포가 완료되면 다음과 같이 접속하기가 파란색버튼으로 변경됩니다. 접속하기를 누르면 배포된 서버를 확인할 수 있습니다.

만약 서버로그나 커맨드로 설정을 변경하고 싶으면 접속하기 옆에 아이콘을 클릭하시면 됩니다.

 

마리아 DB 접속이 안될 경우

다른 프로젝트로 두 개를 생성했는지 확인하시고 다른 프로젝트로 생성하셨다면 외부 방화벽을 허용해주셔야 합니다. 

해당 프로젝트 -> main 옆에 설정버튼 ->  아래로 내려서 방화벽 클릭 -> TCP 외부 접속 허용 체크 적용하기