"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Implantando aplicativos Spring Boot no Koyeb

Implantando aplicativos Spring Boot no Koyeb

Publicado em 17/09/2024
Navegar:836

Deploying Spring Boot Applications on Koyeb

Introdução

Quando começamos a construir coisas como desenvolvedores, um dos nossos principais objetivos é compartilhar o que criamos com outras pessoas. Para desenvolvedores front-end, isso geralmente é simples, graças a excelentes serviços de hospedagem como Vercel e Netlify, que oferecem suporte integrado a aplicativos front-end. No entanto, para desenvolvedores backend, apresentar nosso trabalho pode ser mais desafiador. Construímos APIs, trabalhamos com bancos de dados e, embora o JSON possa ser poderoso, não é tão visualmente atraente quanto uma animação construída com CSS ou Lottie.

É por isso que encontrar uma maneira eficiente e confiável de implantar aplicativos de back-end é crucial. Spring Boot, uma estrutura popular baseada em Java, simplifica o processo de construção de aplicativos prontos para produção, mas implantá-los ainda pode ser um desafio. É aqui que entra o Koyeb. Koyeb oferece uma plataforma poderosa e fácil de usar que permite aos desenvolvedores implantar seus aplicativos Spring Boot rapidamente com configuração mínima. Neste guia, orientaremos você em todo o processo de implantação de um aplicativo Spring Boot com um banco de dados PostgreSQL no Koyeb, do início ao fim.


1. Pré-requisitos

Antes de nos aprofundarmos no processo de implantação, certifique-se de ter o seguinte:

  • Um aplicativo Spring Boot básico. Se você não tiver um, poderá gerar rapidamente um projeto usando Spring Initializr com estas dependências:
    • SpringWeb
    • JPA de dados do Spring
    • Driver PostgreSQL
  • Um repositório GitHub (ou GitLab/Bitbucket), onde seu projeto Spring Boot está hospedado.
  • Uma conta Neon. Inscreva-se no Neon
  • Uma conta Koyeb. Cadastre-se no site da Koyeb se ainda não tiver uma.
  • Maven ou Gradle instalado, dependendo de como seu projeto Spring Boot está configurado.

2. Configurar banco de dados

  • No Koyeb, instancie um banco de dados PostgreSQL GRATUITO, que fornecerá uma URL de banco de dados ,mas é limitado a 50 horas por mês.

-No Neon, instancie um banco de dados PostgreSQL FREE, que também fornecerá uma URL de banco de dados.


3. Conecte o banco de dados com inicialização Spring

Dentro do diretório de recursos você vai criar um arquivo chamado env.properties, dentro dele armazena todas as suas variáveis ​​de ambiente, neste caso DB_URL, DB_USERNAME e DB_PASSWORD.

NUNCA COMMIT este arquivo para o repositório do seu github.

Arquivo

env.properties:

DB_USERNAME=
DB_PASSWORD=
DB_URL=

Seu arquivo application.properties:

application.propertiesfile:

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

Explicação

  • server.port - Esta é a porta onde seu aplicativo será executado. Definimos uma variável de ambiente PORT com um fallback de 8080 caso PORT seja nulo.
  • spring.datasource.url - Esta é uma variável de ambiente proveniente do painel Neon ou Koyeb.
  • spring.datasource.username - Esta é uma variável de ambiente proveniente do painel Neon ou Koyeb.
  • spring.datasource.password - Esta é uma variável de ambiente proveniente do painel Neon ou Koyeb.
  • spring.config.import - Importa o arquivo onde você armazena seus dados confidenciais.

4. Crie um arquivo system.properties

Na raiz do projeto, crie um arquivo system.properties.

Este arquivo especifica a versão do tempo de execução Java a ser usada para que o buildpack Koyeb Java execute o projeto com a versão correta.

Lembre-se: Koyeb aceita valores de versão principais 1.8, 11, 13, 15, 17, 19 e 20.

Se você não especificar uma versão Java, a versão 1.8 será usada.

Estou usando Java 21. Se você estiver usando outra versão, altere-a adequadamente.

sistema.propriedades

java.runtime.version=21

5. Crie um controlador

Este controlador exibirá a mensagem Hello World na rota /.

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. Envie o código para o Github

Crie um repositório público no Github e envie seu código. Pegue o URL deste repositório.


7. Implante no Koyeb

  • Insira sua conta koyeb.
  • Vá para Serviços > Serviços Web > Criar serviços web com Github.
  • Conecte-se ao Github ou cole o URL do repositório público.
  • Aguarde a construção do projeto.
  • Se for bem-sucedido, um URL público será gerado e todos poderão acessar seu aplicativo Spring Boot.

Conclusão

É isso! Você criou um aplicativo Spring Boot, conectou-o a um banco de dados em nuvem e implantou tudo no Koyeb. Este pode ser o início de um projeto que você deseja apresentar em seu portfólio, permitindo que os clientes vejam o que você pode fazer.

Você pode incrementar este aplicativo com um artigo do Image Uploader.

Obrigado pela leitura!


? Referência

  • Koyeb - implantação do Spring Boot
  • Koyeb - Referência Java

? Fale comigo

  • LinkedIn
  • Github
  • Portfólio
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mspilari/deploying-spring-boot-applications-on-koyeb-44kj?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3