Can now be deployed
This commit is contained in:
parent
f220c187c1
commit
be0ec073a3
23
Dockerfile
Normal file
23
Dockerfile
Normal 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
13
README.md
Normal 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
|
||||||
@ -16,7 +16,7 @@ plugins {
|
|||||||
|
|
||||||
|
|
||||||
group = 'com.bernard'
|
group = 'com.bernard'
|
||||||
version = '0.0.1-SNAPSHOT'
|
version = 'beta'
|
||||||
|
|
||||||
java {
|
java {
|
||||||
toolchain {
|
toolchain {
|
||||||
@ -42,7 +42,6 @@ dependencies {
|
|||||||
implementation 'jakarta.validation:jakarta.validation-api:_'
|
implementation 'jakarta.validation:jakarta.validation-api:_'
|
||||||
runtimeOnly 'org.webjars:jquery:_'
|
runtimeOnly 'org.webjars:jquery:_'
|
||||||
developmentOnly Spring.boot.devTools
|
developmentOnly Spring.boot.devTools
|
||||||
developmentOnly 'org.springframework.boot:spring-boot-docker-compose:_'
|
|
||||||
runtimeOnly 'org.postgresql:postgresql:_'
|
runtimeOnly 'org.postgresql:postgresql:_'
|
||||||
testImplementation Spring.boot.test
|
testImplementation Spring.boot.test
|
||||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:_'
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:_'
|
||||||
@ -59,7 +58,7 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
flyway {
|
flyway {
|
||||||
url = "jdbc:postgresql://127.0.0.1:10051/misael"
|
url = "jdbc:postgresql://127.0.0.1:5432/misael"
|
||||||
user = 'misael'
|
user = 'misael'
|
||||||
password = 'misael-dev'
|
password = 'misael-dev'
|
||||||
driver = 'org.postgresql.Driver'
|
driver = 'org.postgresql.Driver'
|
||||||
|
|||||||
17
compose.yaml
17
compose.yaml
@ -5,5 +5,20 @@ services:
|
|||||||
- 'POSTGRES_DB=misael'
|
- 'POSTGRES_DB=misael'
|
||||||
- 'POSTGRES_PASSWORD=misael-dev'
|
- 'POSTGRES_PASSWORD=misael-dev'
|
||||||
- 'POSTGRES_USER=misael'
|
- 'POSTGRES_USER=misael'
|
||||||
|
networks:
|
||||||
|
- misanetwork
|
||||||
|
|
||||||
|
misael:
|
||||||
|
image: 'misael:latest'
|
||||||
|
build: .
|
||||||
|
environment:
|
||||||
|
- 'MISAEL_DATABASE=jdbc:postgresql://postgres:5432/misael'
|
||||||
|
- 'MISAEL_PASSWORD=misael-dev'
|
||||||
ports:
|
ports:
|
||||||
- '10051:5432'
|
- 8080:8080
|
||||||
|
networks:
|
||||||
|
- misanetwork
|
||||||
|
|
||||||
|
networks:
|
||||||
|
misanetwork:
|
||||||
|
driver: bridge
|
||||||
|
|||||||
6
launcher.sh
Normal file
6
launcher.sh
Normal 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
|
||||||
@ -1,8 +1,9 @@
|
|||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:postgres://127.0.0.1:10051/misael
|
url: jdbc:postgresql://127.0.0.1:5432/misael
|
||||||
username: misael
|
username: misael
|
||||||
password: misael-dev
|
password: misael-dev
|
||||||
|
driver-class-name: org.postgresql.Driver
|
||||||
hikari:
|
hikari:
|
||||||
schema: misael
|
schema: misael
|
||||||
flyway:
|
flyway:
|
||||||
|
|||||||
BIN
src/main/resources/static/images/favicon.ico
Normal file
BIN
src/main/resources/static/images/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Loading…
x
Reference in New Issue
Block a user