"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Koyeb에 Spring Boot 애플리케이션 배포

Koyeb에 Spring Boot 애플리케이션 배포

2024-11-08에 게시됨
검색:125

Deploying Spring Boot Applications on Koyeb

소개

개발자로서 무언가를 만들기 시작할 때 우리의 주요 목표 중 하나는 우리가 만든 것을 다른 사람들과 공유하는 것입니다. 프런트엔드 개발자의 경우 프런트엔드 앱을 원활하게 지원하는 Vercel 및 Netlify와 같은 훌륭한 호스팅 서비스 덕분에 이는 종종 간단합니다. 그러나 백엔드 개발자에게는 작업을 선보이는 것이 더 어려울 수 있습니다. 우리는 API를 구축하고 데이터베이스로 작업합니다. JSON은 강력할 수 있지만 CSS나 Lottie로 만든 애니메이션만큼 시각적으로 매력적이지는 않습니다.

이것이 백엔드 애플리케이션을 배포하는 효율적이고 안정적인 방법을 찾는 것이 중요한 이유입니다. 널리 사용되는 Java 기반 프레임워크인 Spring Boot는 프로덕션에 즉시 사용 가능한 애플리케이션을 구축하는 프로세스를 단순화하지만 이를 배포하는 것은 여전히 ​​어려울 수 있습니다. 이것이 바로 Koyeb이 등장하는 곳입니다. Koyeb은 개발자가 최소한의 설정으로 Spring Boot 애플리케이션을 빠르게 배포할 수 있는 강력하고 사용하기 쉬운 플랫폼을 제공합니다. 이 가이드에서는 Koyeb에서 PostgreSQL 데이터베이스와 함께 Spring Boot 애플리케이션을 배포하는 전체 프로세스를 처음부터 끝까지 안내합니다.


1. 전제조건

배포 프로세스를 시작하기 전에 다음 사항을 확인하세요.

  • 기본 Spring Boot 애플리케이션. 애플리케이션이 없는 경우 다음 종속성과 함께 Spring 초기화를 사용하여 프로젝트를 빠르게 생성할 수 있습니다.
    • 스프링 웹
    • 스프링 데이터 JPA
    • PostgreSQL 드라이버
  • Spring Boot 프로젝트가 호스팅되는 GitHub(또는 GitLab/Bitbucket) 저장소.
  • Neon 계정입니다. Neon에 가입하세요
  • 코예브 계정입니다. 코예브 홈페이지가 없다면 회원가입을 하세요.
  • Spring Boot 프로젝트 구성 방식에 따라 Maven 또는 Gradle이 설치되었습니다.

2. 데이터베이스 설정

  • Koyeb에서 무료 PostgreSQL 데이터베이스를 인스턴스화하세요. 이 데이터베이스는 데이터베이스 URL을 제공하지만 월 50시간으로 제한됩니다.

-Neon에서는 데이터베이스 URL도 제공하는 무료 PostgreSQL 데이터베이스를 인스턴스화합니다.


3. 스프링 부트로 데이터베이스 연결

리소스 디렉터리 내부에 env.properties라는 파일을 생성할 예정이며, 그 내부에는 모든 환경 변수(이 경우 DB_URL, DB_USERNAME 및 DB_PASSWORD)가 저장됩니다.

이 파일을 Github 저장소에 절대로 커밋하지 마세요.

env.properties 파일:

DB_USERNAME=
DB_PASSWORD=
DB_URL=

application.properties 파일:

application.properties파일:

server.port=${PORT:8080}

spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}

spring.jpa.hibernate.ddl-auto=update

spring.config.import=classpath:env.properties

설명

  • server.port - 애플리케이션이 실행될 포트입니다. PORT가 null인 경우 대체 환경 변수 PORT를 8080으로 설정합니다.
  • spring.datasource.url - Neon 또는 Koyeb 대시보드에서 가져오는 환경 변수입니다.
  • spring.datasource.username - Neon 또는 Koyeb 대시보드에서 가져오는 환경 변수입니다.
  • spring.datasource.password - Neon 또는 Koyeb 대시보드에서 가져오는 환경 변수입니다.
  • spring.config.import - 민감한 데이터를 저장하는 파일을 가져옵니다.

4. system.properties 파일 생성

프로젝트 루트에 system.properties 파일을 생성합니다.

이 파일은 Koyeb Java 빌드팩이 올바른 버전으로 프로젝트를 실행할 수 있도록 사용할 Java 런타임 버전을 지정합니다.

기억: Koyeb은 주요 버전 값 1.8, 11, 13, 15, 17, 19 및 20을 허용합니다.

Java 버전을 지정하지 않으면 버전 1.8이 사용됩니다.

저는 Java 21을 사용하고 있습니다. 다른 버전을 사용하고 있다면 적절하게 변경하세요.

시스템.속성

java.runtime.version=21

5. 컨트롤러 생성

이 컨트롤러는 / 경로에 Hello World 메시지를 표시합니다.

package com.example.demo.Modules.User.controller;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;

@RestController
public class UserController {

    @GetMapping("/")
    public String helloWorld() {
        return "Hello World";
    }

}

6. Github에 코드 푸시

Github에 공개 저장소를 만들고 코드를 푸시하세요. 이 저장소의 URL을 가져옵니다.


7. Koyeb에 배포

  • koyeb 계정을 입력하세요.
  • 서비스 > 웹 서비스 > Github로 웹 서비스 생성으로 이동합니다.
  • Github에 연결하거나 공개 저장소 URL을 붙여넣으세요.
  • 프로젝트가 빌드될 때까지 기다립니다.
  • 성공하면 공개 URL이 생성되고 모든 사람이 Spring Boot 애플리케이션에 액세스할 수 있습니다.

결론

그렇습니다! Spring Boot 애플리케이션을 생성하고 이를 클라우드 데이터베이스와 연결하고 모든 것을 Koyeb에 배포했습니다. 이는 귀하의 포트폴리오에 선보이고 싶은 프로젝트의 시작이 될 수 있으며 고객이 귀하가 무엇을 할 수 있는지 확인할 수 있습니다.

이미지 업로더 기사로 이 애플리케이션을 늘릴 수 있습니다.

읽어주셔서 감사합니다!


? 참조

  • Koyeb - 스프링 부트 배포
  • Koyeb - Java 참조

? 나에게 말을 걸어

  • 링크드인
  • Github
  • 포트폴리오
릴리스 선언문 이 글은 https://dev.to/mspilari/deploying-spring-boot-applications-on-koyeb-44kj?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3