- Java 17
- Spring Boot 3.2.1
- Spring Web
- JPA
- PostgreSQL
- Lombok
- Swagger
- Docker-compose
- Railway
- Postman
- Acesse Spring Initializr e configure o projeto com as dependências necessárias.
- Adicione as dependências do Spring Web, JPA, Lombok e outras necessárias.
- Crie a entidade, o controller e o repository para a aplicação Spring Boot.
- Adicione a dependência do Swagger ao seu projeto no arquivo
pom.xml
:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.2</version>
</dependency>
- Acesse
localhost:8080/swagger-ui/index.html
para visualizar a documentação.
- Configure as propriedades do banco de dados PostgreSQL no arquivo
application.properties
:
spring.datasource.url=jdbc:postgresql://localhost:5432/seubanco
spring.datasource.username=postgres
spring.datasource.password=1234
Crie um arquivo docker-compose.yml
com a seguinte configuração:
version: "3.8"
services:
dcs-postgres:
image: postgres:15.3-alpine
container_name: deploy-spring-postgres
restart: always
environment:
POSTGRES_PASSWORD: 1234
POSTGRES_USER: postgres
ports:
- 5432:5432
volumes:
- ./data/postgres:/var/lib/postgresql/data
networks:
default:
name: local-network
external: true
- Acesse o site da Railway e faça login com sua conta do GitHub.
- Escolha o repositório da aplicação que você deseja subir na nuvem.
Crie uma branch develop
para o desenvolvimento contínuo do seu projeto.
Após o deploy no Railway, teste a aplicação acessando a URL fornecida pela plataforma.
Configure as variáveis de ambiente no Railway para a conexão com o banco de dados PostgreSQL.
Passo 10: Teste a aplicação que está na nuvem no Postman, para ter a certeza de que a comunicação em nuvem esteja funcionando.
https://{nomedasuaaplicacao}.up.railway.app/users
https://{nomedasuaaplicacao}.up.railway.app/users