From 88108918dd5529273898de671577805d3df0c2f1 Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Tue, 27 Feb 2024 12:08:28 +0100 Subject: [PATCH] adding database support --- .gitea/workflows/deploy.yaml | 2 +- backend/build.gradle.kts | 12 +++++----- backend/compose.yaml | 12 ++++------ .../java/ovh/herisson/Clyde/JdbcConfig.java | 23 +++++++++++++++++++ 4 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 backend/src/main/java/ovh/herisson/Clyde/JdbcConfig.java diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 1f2d7af..3d8835a 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -47,5 +47,5 @@ jobs: scp -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key -r * ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:api/ - name: restarting the backend run: | - ssh -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd api/backend && docker-compose down && docker-compose up --force-recreate --build -d && docker image prune -f" + ssh -o "StrictHostKeyChecking=no" -o "LogLevel=ERROR" -i key ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd api/backend && docker build -t clyde/backend . && docker run --rm -d -p 4000:8080 clyde/backend && docker image prune -f" - run: echo "The backend has been deployed. running at https://clyde.herisson.ovh/api" diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 3a25132..66019d7 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -16,17 +16,17 @@ repositories { } dependencies { - // implementation("org.springframework.boot:spring-boot-starter-jdbc") + implementation("org.springframework.boot:spring-boot-starter-jdbc") implementation("org.springframework.boot:spring-boot-starter-mail") implementation("org.springframework.boot:spring-boot-starter-web") - // implementation("org.springframework.session:spring-session-jdbc") + implementation("org.springframework.session:spring-session-jdbc") developmentOnly("org.springframework.boot:spring-boot-devtools") - // developmentOnly("org.springframework.boot:spring-boot-docker-compose") + developmentOnly("org.springframework.boot:spring-boot-docker-compose") runtimeOnly("org.postgresql:postgresql") testImplementation("org.springframework.boot:spring-boot-starter-test") - // testImplementation("org.springframework.boot:spring-boot-testcontainers") - // testImplementation("org.testcontainers:junit-jupiter") - // testImplementation("org.testcontainers:postgresql") + testImplementation("org.springframework.boot:spring-boot-testcontainers") + testImplementation("org.testcontainers:junit-jupiter") + testImplementation("org.testcontainers:postgresql") } tasks.register("run") { diff --git a/backend/compose.yaml b/backend/compose.yaml index 80902c9..5257bdf 100644 --- a/backend/compose.yaml +++ b/backend/compose.yaml @@ -1,13 +1,9 @@ services: - backend: - build: . - ports: - - 4000:8080 postgres: image: 'postgres:latest' environment: - - 'POSTGRES_DB=mydatabase' - - 'POSTGRES_PASSWORD=secret' - - 'POSTGRES_USER=myuser' + - 'POSTGRES_DB=clyde' + - 'POSTGRES_USER=devel' + - 'POSTGRES_PASSWORD=devel' ports: - - '5432' + - '5432:5432' diff --git a/backend/src/main/java/ovh/herisson/Clyde/JdbcConfig.java b/backend/src/main/java/ovh/herisson/Clyde/JdbcConfig.java new file mode 100644 index 0000000..1b6da6a --- /dev/null +++ b/backend/src/main/java/ovh/herisson/Clyde/JdbcConfig.java @@ -0,0 +1,23 @@ +package ovh.herisson.Clyde; + +import javax.sql.DataSource; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +@Configuration +public class JdbcConfig { + + @Bean + public DataSource psqlSource(){ + DriverManagerDataSource source = new DriverManagerDataSource(); + source.setDriverClassName("org.postgresql.Driver"); + source.setUrl("jdbc:postgresql://localhost:5432/clyde"); + source.setUsername("devel"); + source.setPassword("devel"); + + return source; + } + +}