Skip to content

Aplicação CRUD simples com Spring Boot para um artigo sobre OpenShift

Notifications You must be signed in to change notification settings

mentoria-openshift/simplecrud-spring

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRUD com Spring Boot

Esta aplicação utiliza variáveis de ambiente para detectar o idioma a ser usado para imprimir as mensagens no endpoint /api, e suporte requisições GET, POST, PUT e DELETE para fazer um CRUD de dados de livros numa base de dados H2 embarcada, apesar de também suportar PostgreSQL nos demais perfis.

Existem dois Dockerfiles, um não otimizado e um otimizado para OpenShift. Você pode ler o tutorial completo de como compor esta imagem aqui.

Tecnologias utilizadas

  • Java 11
  • Maven
  • Lombok
  • Spring Boot
  • Spring Data JPA
  • Spring Web
  • Spring Actuator
  • Banco de dados H2
  • Docker (ou Podman)
  • OpenShift
  • PostgreSQL
  • Fabric8

Instalação

Maven

# Faça o build da aplicação
cd simplecrud-spring
mvn clean install

# Defina o perfil a user usado (passe o perfil direto para o comando)
export APP_PROFILE="default" # português - banco em memória
export APP_PROFILE="pt" # português - banco postgresql
export APP_PROFILE="en" # inglês - banco postgresql
export APP_PROFILE="fr" # francês - banco postgresql

# Execute-a
java -Dspring.profiles.active="$APP_PROFILE" -jar target/simplecrud-0.0.1-SNAPSHOT.jar

A aplicação estará disponível em http://localhost:8080/api

Docker (ou Podman)

# Faça o build da imagem
cd simplecrud-spring/docker
docker build -t simplecrud .

# Suba um container com a imagem
docker run --name simplecrud -d -p 8080:8080 simplecrud

# Para abrir o container
docker exec -it simplecrud bash

A aplicação estará disponível em http://localhost:8080/api

OpenShift (com Podman)

# Faça o build da imagem
cd simplecrud-spring/docker
podman build -t docker.io/seu_usuario/simplecrud . -f Dockerfile-openshift

# Suba a imagem para o repositório
podman push docker.io/seu_usuario/simplecrud

# Crie um projeto e um segredo para o repositório
oc new-project meuprojeto
oc create secret generic dockerio --from-file .dockerconfigjson=${XDG_RUNTIME_DIR}/containers/auth.json --type kubernetes.io/dockerconfigjson

# Vincule o segredo ao projeto
oc secrets link default dockerio --for=pull

# Crie um image stream da imagem
oc import-image simplecrud --confirm --reference-policy local --from docker.io/seu_usuario/simplecrud:latest

# Crie uma aplicação
oc new-app --name minhaaplicacao -i simplecrud

# Exponha a aplicação
oc expose svc minhaaplicacao

A aplicação está disponível em http://minhaaplicacao-meuprojeto.apps.cluster.openshift.com/api

About

Aplicação CRUD simples com Spring Boot para um artigo sobre OpenShift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Java 92.8%
  • Dockerfile 6.2%
  • Shell 1.0%