Can now be deployed

This commit is contained in:
Samy Avrillon 2025-06-09 15:27:26 +02:00
parent f220c187c1
commit be0ec073a3
Signed by: Mysaa
GPG Key ID: 0220AC4A3D6A328B
7 changed files with 62 additions and 5 deletions

23
Dockerfile Normal file
View File

@ -0,0 +1,23 @@
FROM gradle:jdk21 AS builder
WORKDIR /build/
ADD src /build/src/
ADD build.gradle /build/
ADD settings.gradle /build/
ADD versions.properties /build/
RUN gradle assemble
FROM eclipse-temurin:21-noble
WORKDIR /opt/
ADD "https://download.red-gate.com/maven/release/com/redgate/flyway/flyway-commandline/11.9.1/flyway-commandline-11.9.1-linux-x64.tar.gz" /opt/flyway.tar.gz
RUN tar -xvzf /opt/flyway.tar.gz -C /opt/
RUN ln -s /opt/flyway-11.9.1/flyway /usr/local/bin
WORKDIR /app/
COPY --from=builder /build/build/libs/misael-beta.jar /app/misael.jar
COPY --from=builder /build/build/resources/ /app/resources/
ADD launcher.sh /app/
ENTRYPOINT ["bash","./launcher.sh"]

13
README.md Normal file
View File

@ -0,0 +1,13 @@
# Misael
## For dev
You need to setup a postgres server at localhost:5432, with user misael with password misael-dev
Then, you run the database migration `./gradlew flywayMigrate`
And finaly we run `./gradlew bootRun`
## For deployment
The compose file is enough.
`launcher.sh` checks that the migrations are applied and then runs the spring boot server on port 8080

View File

@ -16,7 +16,7 @@ plugins {
group = 'com.bernard'
version = '0.0.1-SNAPSHOT'
version = 'beta'
java {
toolchain {
@ -42,7 +42,6 @@ dependencies {
implementation 'jakarta.validation:jakarta.validation-api:_'
runtimeOnly 'org.webjars:jquery:_'
developmentOnly Spring.boot.devTools
developmentOnly 'org.springframework.boot:spring-boot-docker-compose:_'
runtimeOnly 'org.postgresql:postgresql:_'
testImplementation Spring.boot.test
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:_'
@ -59,7 +58,7 @@ dependencies {
}
flyway {
url = "jdbc:postgresql://127.0.0.1:10051/misael"
url = "jdbc:postgresql://127.0.0.1:5432/misael"
user = 'misael'
password = 'misael-dev'
driver = 'org.postgresql.Driver'

View File

@ -5,5 +5,20 @@ services:
- 'POSTGRES_DB=misael'
- 'POSTGRES_PASSWORD=misael-dev'
- 'POSTGRES_USER=misael'
networks:
- misanetwork
misael:
image: 'misael:latest'
build: .
environment:
- 'MISAEL_DATABASE=jdbc:postgresql://postgres:5432/misael'
- 'MISAEL_PASSWORD=misael-dev'
ports:
- '10051:5432'
- 8080:8080
networks:
- misanetwork
networks:
misanetwork:
driver: bridge

6
launcher.sh Normal file
View File

@ -0,0 +1,6 @@
echo "Checking Database Migration"
flyway "-url=$MISAEL_DATABASE" -user=misael "-password=$MISAEL_PASSWORD" -locations="filesystem:resources/main/db/migration/" -schemas=misael migrate
echo "Running" java -jar misael.jar --spring.datasource.url=$MISAEL_DATABASE --spring.datasource.password=$MISAEL_PASSWORD
java -jar misael.jar --spring.datasource.url=$MISAEL_DATABASE --spring.datasource.password=$MISAEL_PASSWORD

View File

@ -1,8 +1,9 @@
spring:
datasource:
url: jdbc:postgres://127.0.0.1:10051/misael
url: jdbc:postgresql://127.0.0.1:5432/misael
username: misael
password: misael-dev
driver-class-name: org.postgresql.Driver
hikari:
schema: misael
flyway:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB