Maison >Java >javaDidacticiel >Déploiement d'applications Spring Boot sur Koyeb

Déploiement d'applications Spring Boot sur Koyeb

王林
王林original
2024-09-03 13:35:02791parcourir

Deploying Spring Boot Applications on Koyeb

Introduction

Lorsque nous commençons à créer des choses en tant que développeurs, l'un de nos principaux objectifs est de partager ce que nous avons créé avec les autres. Pour les développeurs front-end, cela est souvent simple, grâce à d'excellents services d'hébergement comme Vercel et Netlify qui prennent en charge les applications front-end de manière transparente. Cependant, pour les développeurs back-end, présenter notre travail peut être plus difficile. Nous construisons des API, travaillons avec des bases de données et, même si JSON peut être puissant, il n'est pas aussi convaincant visuellement qu'une animation créée avec CSS ou Lottie.

C'est pourquoi il est crucial de trouver un moyen efficace et fiable de déployer des applications backend. Spring Boot, un framework Java populaire, simplifie le processus de création d'applications prêtes pour la production, mais leur déploiement peut encore s'avérer un défi. C'est là qu'intervient Koyeb. Koyeb propose une plate-forme puissante et facile à utiliser qui permet aux développeurs de déployer rapidement leurs applications Spring Boot avec une configuration minimale. Dans ce guide, nous vous guiderons tout au long du processus de déploiement d'une application Spring Boot avec une base de données PostgreSQL sur Koyeb, du début à la fin.


1. Conditions préalables

Avant de plonger dans le processus de déploiement, assurez-vous d'avoir les éléments suivants :

  • Une application Spring Boot de base. Si vous n'en avez pas, vous pouvez générer rapidement un projet à l'aide de Spring Initializr avec ces dépendances :
    • Web de printemps
    • Données de printemps JPA
    • Pilote PostgreSQL
  • Un référentiel GitHub (ou GitLab/Bitbucket), où est hébergé votre projet Spring Boot.
  • Un compte Neon. Inscrivez-vous sur Neon
  • Un compte Koyeb. Inscrivez-vous sur le site de Koyeb si vous n'en avez pas.
  • Maven ou Gradle installé, selon la configuration de votre projet Spring Boot.

2. Base de données de configuration

  • Sur Koyeb, instanciez une base de données PostgreSQL GRATUITE, qui fournira une URL de base de données mais est limitée à 50 heures par mois.

-Sur Neon, instanciez une base de données PostgreSQL GRATUIT, qui fournira également une URL de base de données.


3. Connectez la base de données avec Spring Boot

Dans le répertoire des ressources, vous allez créer un fichier appelé env.properties, à l'intérieur duquel stocker toutes vos variables d'environnement, dans ce cas DB_URL, DB_USERNAME et DB_PASSWORD.

NE JAMAIS COMMETTRE ce fichier dans le dépôt de votre github.

Fichier env.properties :

DB_USERNAME=<Get this from the Neon or Koyeb dashbord>
DB_PASSWORD=<Get this from the Neon or Koyeb dashbord>
DB_URL=<Get this from the Neon or Koyeb dashbord>

Votre fichier application.properties :

fichier 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

Explication

  • server.port - Il s'agit du port sur lequel votre application s'exécutera. Nous définissons une variable d'environnement PORT avec un repli de 8080 au cas où PORT serait nul.
  • spring.datasource.url - Il s'agit d'une variable d'environnement provenant du tableau de bord Neon ou Koyeb.
  • spring.datasource.username - Il s'agit d'une variable d'environnement provenant du tableau de bord Neon ou Koyeb.
  • spring.datasource.password - Il s'agit d'une variable d'environnement provenant du tableau de bord Neon ou Koyeb.
  • spring.config.import - Ceci importe le fichier dans lequel vous stockez vos données sensibles.

4. Créez un fichier system.properties

A la racine du projet, créez un fichier system.properties.

Ce fichier spécifie la version du runtime Java à utiliser pour que le buildpack Java Koyeb exécute le projet avec la bonne version.

Rappelez-vous : Koyeb accepte les valeurs de version majeure 1.8, 11, 13, 15, 17, 19 et 20.

Si vous ne précisez pas de version Java, la version 1.8 sera utilisée.

J'utilise Java 21. Si vous utilisez une autre version, modifiez-la en conséquence.

système.propriétés

java.runtime.version=21

5. Créez un contrôleur

Ce contrôleur affichera le message Hello World sur la route /.

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. Poussez le code sur Github

Créez un référentiel public sur Github et poussez votre code. Récupérez l'URL de ce référentiel.


7. Déployer sur Koyeb

  • Entrez votre compte koyeb.
  • Allez dans Services > Services Web > Créez des services Web avec Github.
  • Connectez-vous à Github ou collez l'URL du référentiel public.
  • Attendez que le projet se construise.
  • En cas de succès, une URL publique sera générée et tout le monde pourra accéder à votre application Spring Boot.

Conclusion

C'est ça ! Vous avez créé une application Spring Boot, l'avez connectée à une base de données cloud et tout déployé sur Koyeb. Cela peut être le début d'un projet que vous souhaitez présenter dans votre portfolio, permettant aux clients de voir ce que vous pouvez faire.

Vous pouvez incrémenter cette application avec un article Image Uploader.

Merci d'avoir lu !


? Référence

  • Koyeb - Déploiement Spring Boot
  • Koyeb - Référence Java

? Parle moi

  • LinkedIn
  • Github
  • Portefeuille

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn